2012-08-19 2 views
1

양식에 닫기 버튼이있는 probs가 있습니다. 그것은 양식의 취소 버튼으로 설정하는 데 사용되지만, 나는 그것을 none으로 변경합니다. 양식은 가이드처럼 작동합니다 ...양식 닫는 중입니다. 원하지 않습니다.

양식이 가이드의 일부 단계에 있다면 예 아니오 메시지 상자가 나타나기를 원합니다. 하지만 코드를 사용하면 예 또는 아니오를 클릭하여 양식을 닫을 수 있습니다. 버튼의

코드 :

if (krok <= 5) 
{ 
    if (MessageBox.Show("este ste neurobili vsetko naozaj chcete zavriet okno?", 
     "Pozor", 
     MessageBoxButtons.YesNo, 
     MessageBoxIcon.Warning) == DialogResult.Yes) 
    { 
     Close(); 
    }    
} 
else Close(); 
+0

'DialogResult'버튼의 속성이 'DialogResult.None'으로 설정되어 있습니까? – Steve

+0

오, 고마워, 내가 버튼의 dialogresult, 난 그냥 양식의 cancelbutton을 변경 알아요. 큰 감사 –

+0

좋습니다, 답으로 게시 됨. 가능한 경우 수락하십시오. – Steve

답변

1

모든 버튼에는 DialogResult이라는 속성이 있습니다. 이 속성은 디자이너 윈도우 나 코드에서 직접 설정할 수 있습니다. 이 속성의 효과는 양식을 닫고 (양식이 모달로 표시된 경우) 속성의 값을 양식 호출 코드로 반환합니다.

귀하의 경우에는이 속성이 (디자이너 창에서) DialogResult.None과 다른 것으로 판단됩니다. 이 경우 Close()를 호출하거나 닫지 않은 양식이 닫힙니다.

1

디버거는 당신의 친구입니다. 삶의 편의성을 높이고 ShowDialog 라인을 탈피하십시오.

var result = MessageBox.Show... 
if (result == DialogResult.Yes) 
{ 
    Close(); 
} 

디버거의 결과 값을 확인하십시오. Close()를 사용하여 줄에 중단 점을 놓고 충돌이 발생하는지 확인할 수도 있습니다. 그 라인이나 다른 것이 당신의 폼을 닫고 있는지 확실히 알 수 있습니다.

관련 문제