日期:2014-05-20  浏览次数:20788 次

winform中如何把对话框参数传给父窗口
Form2是一个普通的窗口类,里面定义了一个编辑框和一个“确定”按钮

Form1中代码如下:

private   void   button1_Click(object   sender,   System.EventArgs   e)
{
                Form2   myDig   =   new   Form2();
                myDig.ShowDialog();
}

请问如何在myDig中点击“确定”按钮时把编辑框里的字符串传给Form1中的某个变量并关闭myDig。


------解决方案--------------------
form2 f = new from2(this) //这条在form1中


public from2(Form aaa)
{
//想干么干么
}
------解决方案--------------------
用delegate

1。先在form2中定义事件:
public delegate void MyEventHandl(string a);
public event MyEventHandl Myevent;
2。form2关闭的时候触发:
Myevent(“aaa”);
3。在form1实例化form2的时候:
form2 f2=new form2();
f2.Myevent+=new MyEventHandl(f2_Myevent)
f2.show();
4。在form1中完善时间处理程序:
void f2_Myevent(string a)
{
}

------解决方案--------------------
这么麻烦...

Form2 myDig = new Form2();
DialogResult result = myDig.ShowDialog();//当关闭form2上设置this.DialogResult = DialogResult.OK ;
if( result == DialogResult.OK )
{
//访问myDig的公共属性或芋
}