ShowDialog方法运用错误问题,导致传递Owner窗体为空(null)。

1,现场描述:

我的主界面是MdiContainer的(FA),
单击一个菜单打开一个showdialog窗体(FB):FB.ShowDialog();
FB运行后将打开另外一个新窗体(FC)并关闭FB,
要求FC运行后是FA的子窗体。

于是我必须通过FB把FA传给FC:FC.MdiParent = FB.ParentForm;
但FB.ParentForm总为null,后来发觉还有个属性Owner,
于是FC.MdiParent = FB.Owner; 跟踪程序仍然为空,郁闷~~~~
难道真没办法解决吗?但是SQL Server 2000 的查询分析器不是做到了吗~~!!

2,转折点:

最后才知道是我的ShowDialog方法用错了!
其实ShowDialog 还有另外一个重载方法!!

Form.ShowDialog 方法 (IWin32Window)

将窗体显示为具有指定所有者的模式对话框。
参数   owner
任何实现
IWin32Window (表示将拥有模式对话框的顶级窗口)的对象。

3,结果:

改写代码为 :FB.ShowDialog(FA);
FC.MdiParent = FB.Owner;
终于运行成功,B界面关闭后,C界面成功成为A的子界面。

转载于:https://www.cnblogs.com/ClarkChan/archive/2006/10/16/530331.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值