.NET中窗体间相互访问的几种方式
在我们的程序中,窗体之间经常要相互访问彼此的成员,调用彼此的方法,或者激发彼此的事件。下面就我的经验,简单谈谈在.NET中窗体间相互访问的几种方式。以下给出了C#.NET和VB.NET的示例代码。用Form1、Form2类分别表示主、从窗体。
1、内部成员访问法,适合于主窗体访问它所创建的从窗体对象中的成员。只需将从窗体允许主窗体访问的那些成员加上internal或Friend限定符。例如:
C#主
private void ShowForm2Info() {
Form2 f2 = new Form2();
f2.Show();
MessageBox.Show(f2.MyName);
}
C#从
internal string MyName = "A Form2 Object";
VB主
Private Sub ShowForm2Info()
Dim f2 As New Form2
f2.Show()
MsgBox(f2.MyName)
End Sub
VB从
Friend MyName As String = "A Form2 Object"
2、将以上方法反过来用,让从窗体访问创建它的主窗体中的成员,需要增加一个步骤:在从窗体的构造函数中传入一个主窗体的引用,以便找到创建它的主窗体(新建的构造函数中不要忘了调用InitializeComponent()函数)。主窗体创建从窗体对象时传入自身的引用。例如:
C#主
private void ShowForm2() {
Form2 f2 = new Form2(this);
f2.Show();
}
internal string MyName = "A Form1 Object";
C#从
private Form1 f1;
public Form2(Form1 _f1) {
InitializeComponent();
f1 = _f1;
补充:asp.net教程,基础入门