2013-02-20 4 views
2

winforms 응용 프로그램에서 VB.NET에서 VS2012를 사용하고 있습니다. 폼 유효성 검사에 따라 코드 중 일부 텍스트 상자의 BackColor 속성을 프로그래밍 방식으로 설정했습니다. 이 문제는 제대로 작동하지 않습니다. 문제는 텍스트 상자의 BackColor 속성을 "재설정"하여 BackColor를 설정하기 전에 텍스트 상자가 동일한 상태로 수행되도록하는 것입니다. 그래서 할 것이다 다음텍스트 상자 배경색 재설정

즉시 = textbox.enabled 때 "밝은 회색"색상

변경 "재설정"후 거짓

이유 화이트의 기본 색상으로 돌아 왜 단순히 BackColor를 Color.White로 설정할 수 없습니다. textbox.enabled = false 일 때 텍스트 상자에 영향을 미칩니다. 텍스트 상자는 배경색을 설정하고 텍스트 상자를 비활성화 한 후에 "밝은 회색"색상을 반환하지 않습니다. 그 색깔로 되돌아 가야하고 텍스트 상자를 활성화하거나 비활성화 할 때마다 텍스트 상자의 색상을 설정하지 않아도됩니다. 감사!

답변

3

BackColor의 원래 값을 다시 할당하여 색상을 재설정합니다. 또는 기본 값을 할당함으로써, 흰색되지 않습니다 :

textBox1.BackColor = Color.FromKnownColor(KnownColor.Window); 
관련 문제