很多时候我们需要调用其他窗体中的某个特定控件,虽然可以通过修改成员访问符,但是这样破坏了类的封装性。这里用form窗体中notifyIcon控件来试验下。
设定现有form1,from2,form1中定义了控件notifyIcon1,form2中bottom_check事件来调用notifyIcon1的ShowBalloonTip方法.就是其他窗体发送信息到主窗体的托盘。首先在form1中定义一个static属性:
public static Form1 pub_form = null ---------定义静态属性
public Form1()
{
InitializeComponent();
pub_form = this; ----------在构造函数中初始化静态成员
}
好了,现在在form2中就可以通过form1.pub_form来调用form1的所有方法了。
private void button1_Click(object sender, EventArgs e)
{
Form1.pub_form.notifyIcon1.ShowBalloonTip(1000, "测试", "可以正常调用!", ToolTipIcon.Info);
}
这样,其他form就可以自由来访问主窗体的数据了