2015-02-06 3 views
0

form_load 이벤트에서 다음 코드를 사용하여 Form.BackgroundColor을 변경하려고하지만 오류가 발생합니다.C에서 양식 배경색을 변경하는 방법

컨트롤은 투명한 배경색을 지원하지 않습니다. 여기

내가
private void Form1_Load(object sender, EventArgs e) 
{ 
    string sColor = "#ACE1AF";// Hex value of any color 
    Int32 iColorInt = Convert.ToInt32(sColor.Substring(1), 16); 
    Color curveColor = System.Drawing.Color.FromArgb(iColorInt); 
    this.BackColor = curveColor; 
} 

내가 같은 질문 ( Why am I getting "Control does not support transparent background colors"?)을 발견 ... 노력하고 있지만,이 때문에 Color 클래스에 기본 값을 사용하고 내 요구 사항을 충족되지 않을 것입니다.

+0

내가 http://stackoverflow.com/questions/9358500/winforms-making-a-control-transparent 같은 질문을 찾을 – isxaker

+0

내가 폼 transprent을 만들려고 노력하고 있지 않다, 나는 16 진수 값 –

+1

에서만 색상을 변경하려면 ColorTranslator.FromHtml ("# 00FEF2D4"); – isxaker

답변

2
ColorTranslator.FromHtml("#00FEF2D4"); 

편집 : ColorTranslator.FromHtml은 GDI + Color 구조에 HTML 색상 표현을 변환합니다.

매개 변수

유형

htmlColor : 선택 System.String

있지만 Html 색상의 캐릭터 라인 표현이 번역.

반환 값

유형 : System.Drawing.Color

htmlColor가 null의 경우 변환 된 HTML 색상 또는 빈을 나타내는 Color 구조체.

+2

코드를 설명하십시오 (정말 간단하더라도) 또는 귀하의 기능에 대한 참조를 제공하십시오. 코드 전용 답변은 OP뿐만 아니라 향후 독자를 혼동시킬 수 있으므로 권장하지 않습니다. –

2

문제는 입니다. 배경을 투명하게 만들려고합니다. ARGB에서 지정한 색상은 100 % 투명합니다. 따라서 오류.

당신은 사용해야

void Form1_Load(object sender, EventArgs e) 
{ 
    string sColor = "#FFACE1AF";// Hex value of any color 
    Int32 iColorInt = Convert.ToInt32(sColor.Substring(1), 16); 
    Color curveColor = System.Drawing.Color.FromArgb(iColorInt); 
    this.BackColor = curveColor; 
} 

FF에 알파 채널을 설정.

관련 문제