2012-06-13 4 views
0

두 개의 상태가있는 버튼이 있습니다. 정상 및 비공개. 정상 동안, 버튼과 같이 보입니다 : 이상한 버튼 이미지 동작

button state: normal

및 경보가 상태에있는 동안

는, GIF 파일 형식으로 붉은 색과 오렌지색 사이 깜박과 같이 :

아래 button state : in alarmbutton state: in alarm

일부입니다 버튼의 상태를 결정하는 스 니펫 :

if (blah blah == true) 
{ 
    ((Button)mainUI.Controls["btn" + device.deviceButtonNumber]).Image = null; 
    //MessageBox.Show("Button " + device.deviceButtonNumber.ToString() + "is now flashing"); 
    ((Button)mainUI.Controls["btn" + device.deviceButtonNumber]).Image = Properties.Resources.red_orange; 
} 
else 
{ 
    //MessageBox.Show("Button " + device.deviceButtonNumber.ToString() + "is now green"); 
    ((Button)mainUI.Controls["btn" + device.deviceButtonNumber]).Image = null; 
    ((Button)mainUI.Controls["btn" + device.deviceButtonNumber]).BackColor = Color.Green; 
} 

스 니펫 세트의 이유 null로 이미지가 나는 어쩌면 그것은 서로의 위에 이미지를 쌓고 있다고 생각했기 때문에, 그러나 이것은 그것을 고정시키지 않은 것 같습니다.

내가 폴링 장치 동안이 버튼의 상태를 확인 후, ... 버튼을 임의로 변경하고 그래서 같이되어 있습니다 문제 :

Weird state

나는이야 이 일이 왜 일어나고 있는지에 관해 붙어있는 조금은 그것이 buttonstate로 변하기 전에 시간의 양에 따라 다양해 보인다 : 이상한. 왜 이런 일이 일어나는 지 아무도 모른다.

+0

우리가'System.Windows 대해 이야기 .Forms.Button' 또는 여기에있는'System.Windows.Controls.Button'? –

+0

그들은 System.Windows.Forms.Button 단추입니다. –

+1

"큰 빨간 x의 운명"은 무승부를 시도하는 동안 컨트롤이 예외에 부딪쳤다는 의미입니다. 버튼을 사용하여 사용자 정의 페인팅을하거나 단순히 이미지/배경색을 전환하고 있습니까? 예외가 발생하는 것을 보시겠습니까? – roken

답변

2

붉은 십자가 버튼을 그리는 데 오류가 있음을 나타냅니다. 적색 십자형 이미지가 버튼의 기본 오류 이미지입니다. 임베디드 자원에 문제가 있다고 생각합니다. 모든 이미지가 자원에 존재하는지 확인하십시오 그렇다면 이미지 개체를 만들지 못할 수도 있습니다.

((Button)mainUI.Controls["btn" + device.deviceButtonNumber]).Image = new Image(Properties.Resources.red_orange);

가 resource.Also의 이미지에서 개체를 만들고 사용하는

봅니다 자원 예에없는 이미지를 사용해보십시오 : 외부

+0

난 그냥 논리를 바꿀거야, 그리고 나서이 수정을 시도합니다. –

+0

무엇이 문제였습니까? – techno

+0

나는 그것이 라인을 따라 무언가라고 생각한다. 기본적으로 그것은 끊임없이 새로 고침을 시도하고 있었고 무작위로 이미지를 새로 고치려고했지만 마지막 하나를로드하지 않아서 찾지 못했다고 생각한다. 그것. 또는 그런 것. 일부 루프를 변경하고 일부 변수를 이동 시켰으며 루프가 잘못 반복되었습니다. 그런 다음 효과가있었습니다. –