你说的 form 是自定义的,还是系统的标准对话框(如 openFileDialog)? :)

解决方案 »

  1.   

    dlg.showdialog()的返回值是dialogresult枚举.
    dialogresult.ok 是dialogresult枚举的一个值.
    testDialog.ShowDialog(this) == DialogResult.OK的意思就是判断你是不是按下了Ok按钮.
    你可以用if()来判断.或是用switch来选择分支.
    然后里边加处理程序
    比如:
    if(testDialog.ShowDialog(this) == DialogResult.OK)
    {
        .....
        .....
    }^_^
      

  2.   

    我在dialog里有两个button -Ok  and  Cancel在form里(就是windows.forms.form,心田家的一个窗体)的acceptbutton  设为button1--ok
    cancelbutton设为button2-cancel在主窗体里form2 myform = new form2()
             if(myform.showdialog()==dialogresult.ok)
    {
    }
    myform.dispose();然后点击那个button-ok没有任何反映。那个myform的对话框还在那里。
    但我点击button-cancel后,对话框返回。
    为什么?点ok为什么没有反应?
      

  3.   

    ok,在水木清华上找到结果了,也谢谢前两位。我的button 的dialogresult有问题。所以一直不对。
      

  4.   

    把 myform 的 acceptbutton 设为 btnOK 即可
    另外,如果要自己完全控制 DialogResult
    可以在 btnXX 的 click 事件函数中写 this.DialogResult = ....
    然后 this.Close();
      

  5.   

    当然不行,你需要手动设置DialogResult,由于其默认值为DialogResult.Cancel。
    你需要在相应的位置进行设置,例如:this.DialogResult=DialogResult.OK;