Form2中访问Form1

在Windows 应用程序编程中,我们经常会在Form1中创建一个Form2实例,并调用其Show方法显示窗体,之后又试图在Form2实例中访问Form1,这时就要用到Form类的Show方法的一个重要的重载函数:

public void Show(IWin32Window owner);

下边代码在Form1中创建一个Form2实例并显示:

new Form2().Show(this);

它表示实例化一个Form2,并将其所有者设置为Form1,好了,下边看下怎么在Form2实例中访问Form1(button1为Form2上一个按钮):

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show(((Form1)this.Owner).Text);
}

是不是非常容易!需要注意的是不能在Form2的构造函数中访问Owner属性,否则将引发NullReferenceException错误,提示"未将对象引用设置到对象的实例"!

评论: 0 | 引用: 0 | 查看次数: 3979
发表评论
登录后再发表评论!