A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 心灵苦旅 中级黑马   /  2014-3-25 14:02  /  1075 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 心灵苦旅 于 2014-3-27 17:01 编辑

一般使用ShowDialog的时候,都是没有带参数的,那带参数的和不带参数的有什么区别呢?
这种带参数的 ShowDialog(IWin32Window) 具体用法是什么,用在什么场合?

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

2 个回复

倒序浏览
这个参数其实就是传一窗口进去,传进去的窗口就是这个窗口的主窗口,如果你想改变主窗口的一些值那么可以加上参数,写一小段测试代码,想让子窗口在显示后关闭时修改主窗口的窗口标题,那么就可以将主窗口作为参数传进去,然后再进行修改。
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             Form f1 = new Form();
  4.             f1.Text = "这是子窗口";
  5.             f1.FormClosed += new FormClosedEventHandler(f1_FormClosed); // 关闭窗口时执行的代码
  6.             f1.ShowDialog(this);// this就是当前显示的窗口
  7.         }

  8.         void f1_FormClosed(object sender, FormClosedEventArgs e)
  9.         {
  10.             Form f = sender as Form;// 将参数转成窗体对像,这个对像是子窗口
  11.             f.Owner.Text = f.Text;// f.Owner就是传进来的this对像
  12.         }
复制代码

在主窗口点按钮后会f1子窗口会显示出来,关闭子窗口时就会看到主窗口的标题已经被改成"这是子窗口"了

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
mdb 发表于 2014-3-25 15:53
这个参数其实就是传一窗口进去,传进去的窗口就是这个窗口的主窗口,如果你想改变主窗口的一些值那么可以加 ...

明白了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马