窗体互操作
2005-01-18 23:40 ☆野生架构师☆ 阅读(229) 评论(1) 收藏 举报有朋友问如下一个问题:
Form1中:
this.Visible = false; //隐藏Form1的实例
Form2 F2 = new Form2();
F2.Show();
在Form2完成相关操作后,想使
this.Close(); //关闭F2
Form1.Visible = true; //再显示Form1的实例
可发现在F2中无法操作Form1的实例了。
呵呵,如果你用VB6.0(及以前版本),那这根本不是问题;但在C#这强面向对象的语言中,类和实例分的很清楚,就不好办了。
有一个方法:
在Form2中:
public Form1 F1; //Form2中声明一个Form1类型的F1
然后在Form1中:
this.Visible = false;
Form2 F2 = new Form2();
F2.F1 = this; //将Form1的实例整体传给Form2,当然也可以修改Form2的构造函数
// Form2 F2 = new Form2(this);
F2.Show();
这时候你想在Form2中使Form1的实例显示就很容易了:
this.F1.Visible = true;
很绕口吧:)这是具体代码: Download( Form.rar 9.12KB )
浙公网安备 33010602011771号