class form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frm2 As New Form2(Me)
a.Show()
End Sub
end form1
==
class form2
private frm1 as form1
public sub new(frm1 as form1)
'''
me.frm1=frm1
'''
end sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MessageBox.Show(Me.frm1.TextBox1.Text)
End Sub
end class
====
第1步:在解决方案上添加一个窗体Form2;并添加textBox1、textBox2、Button1,将Button1的标题设为“确定”,DialogResult属性设为“OK”;
第2步:在窗体Form2的类代码中添加两个私有字段: _username、_password,并添加两个public属性:UserName、Password;代码如下:
public partial class Form2: Form
{
private string _username;
private string _password;
public string UserName
{
get
{
return _username;
}
set
{
_username=value;
}
}
public string Password
{
get
{
return _password;
}
set
{
_password=value;
}
}
.....
}
Dim F2 As New Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x As String
x = TextBox1.Text
F2.Label1.Text = x
F2.Show()
End Sub
实例化后是可以传的
---------------------------------------------------
这样的说法是在不敢苟同,窗体比较特殊,成员方法和成员变量等默认都是受保护或者私有的,类的引用是不能直接取其值的,如果你有胆子,报错"未将引用设置到对象的实例";
窗体既然是类,类是什么?是对象的“根”,既然EveryThing is object,那么就会有方法、属性、变量的概念,那么属性传值是最好的选择;
Dim stryouwant As String=String.Empty
Public Property Valueyouwant() As String
Get
Return stryouwant
End Get
Set(ByVal value As String)
stryouwant= value
End Set
End Property
---------------------------------------------------