2011-11-16 5 views
0

양식을 대화 상자로 만들었으며 양식에 하나의 텍스트 상자, 하나의 확인 단추 및 하나의 취소 단추 만 있습니다. 어떻게 든, rnmForm.DialogResult! = DialogResult.OK를 변경하지 않으면 다음이 작동하지 않을 때, 그 이유는 무엇입니까?dialogresult가 작동하지 않거나 일부 이유로 작동하지 않습니다.

frmRename rnmForm = new frmRename(); 

     rnmForm.ShowDialog(new Form()); 
     if (rnmForm.DialogResult==DialogResult.OK) 
     { 
      MessageBox.Show("test"); 

     } 

답변

1

Ok 클릭 이벤트에서 대화 상자를 닫기 전에 대화 상자 결과를 확인으로 설정했는지 확인 했습니까?

this.DialogResult = DialogResult.OK; 
this.Close(); 

또는 이와 유사한 확인 버튼에 속성 설정 : 나는 또한 당신이 ShowDialog를 호출하고 소유자로 양식의 새로운 인스턴스를 지정하는 이유를 물어 봐야

btnOk.DialogResult = DialogResult.OK; 

을, 매개 변수없이 호출하는 대신 의도적인지 확실하지 않습니다.

rnmForm.ShowDialog(); 
+0

음 버튼에 클릭 이벤트가 있는데, 간단한 문자열 지정 (textbox.TEXT를 varable에 할당)이 있습니까? – ikel

+0

이 (가) 편집되었습니다. 닫기를 호출하기 바로 전에 this.DialogResult = DialogResult.Ok를 추가하십시오. – Jay

+0

실제로, 당신은 내가 어떤 의도없이, 또한, 내가 그것을 공공 frmRename을() 일을 초기화 한 후 후 btnOk.DialogResult = DialogResult.OK 새로운 양식을 올바른 뒀다된다 { this.StartPosition = FormStartPosition.CenterParent; InitializeComponent(); btnOK.DialogResult = DialogResult.OK; } – ikel

관련 문제