一个对话框,里面有几个textbox。有确定和取消两个按钮
想调用,如果点击确定则关闭对话框并得到结果,取消的话就只关闭。
问题是:
1、怎么得到是按了确定还是取消,没有现成的DialogResult.OK啊~
2、值怎么传?
我这么写的:
主程:
func()

      int b;//不想用全局静态变量。
      dlg a= new dlg;
      a.c=b;
      a.showdialog;

调试中a.c改变的时候b并没有变~
请赐教~~~

解决方案 »

  1.   

    在其中一个按钮大的Click里写就OK了
    this.DialogResult=DialogResult.OK;
    Form的CancelButton设置成另外一个按钮
      

  2.   

    怎么不用DialogResult属性呢!?///////////////////////////////////////////////////////////////////
    不用DialogResult属性,那就自己加一个public enum Buttons {OK, Cancel,None};public class MyForm: Form
    {
       private Buttons m_ClickedButton = Buttons.None;   public Buttons ClickedButton
       {
          get
            {
                return ClickedButton;
            }
       }
        
       private void OKButton_Click(object sender, EventArgs e)
       {
            m_ClickedButton = Buttons.OK;
            //
            //事件处理
            //
       }   private void CancelButton_Click(object sender, EventArgs e)
       {
            m_ClickedButton = Buttons.Cancel;
            //
            //事件处理
            //
       }
    }如果按X关闭的就是Buttons.None调用代码
       Form myForm = new MyForm();
       myForm.Show();
       if (myForm.ClickButton = Buttons.OK)
       {
             //
             //处理
             //
        }    if (myForm.ClickButton = Buttons.Cancel)
       {
             //
             //处理
             //
        }
      

  3.   

    button有一个叫做DialogResult的属性,直接就可以设置点击之后的返回值。