黑马程序员技术交流社区
标题:
带参数的 ShowDialog(IWin32Window)
[打印本页]
作者:
心灵苦旅
时间:
2014-3-25 14:02
标题:
带参数的 ShowDialog(IWin32Window)
本帖最后由 心灵苦旅 于 2014-3-27 17:01 编辑
一般使用ShowDialog的时候,都是没有带参数的,那带参数的和不带参数的有什么区别呢?
这种带参数的 ShowDialog(IWin32Window) 具体用法是什么,用在什么场合?
作者:
mdb
时间:
2014-3-25 15:53
这个参数其实就是传一窗口进去,传进去的窗口就是这个窗口的主窗口,如果你想改变主窗口的一些值那么可以加上参数,写一小段测试代码,想让子窗口在显示后关闭时修改主窗口的窗口标题,那么就可以将主窗口作为参数传进去,然后再进行修改。
private void button1_Click(object sender, EventArgs e)
{
Form f1 = new Form();
f1.Text = "这是子窗口";
f1.FormClosed += new FormClosedEventHandler(f1_FormClosed); // 关闭窗口时执行的代码
f1.ShowDialog(this);// this就是当前显示的窗口
}
void f1_FormClosed(object sender, FormClosedEventArgs e)
{
Form f = sender as Form;// 将参数转成窗体对像,这个对像是子窗口
f.Owner.Text = f.Text;// f.Owner就是传进来的this对像
}
复制代码
在主窗口点按钮后会f1子窗口会显示出来,关闭子窗口时就会看到主窗口的标题已经被改成"这是子窗口"了
作者:
心灵苦旅
时间:
2014-3-25 16:26
mdb 发表于 2014-3-25 15:53
这个参数其实就是传一窗口进去,传进去的窗口就是这个窗口的主窗口,如果你想改变主窗口的一些值那么可以加 ...
明白了,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2