有两个窗体f1,f2
f1上有个button1,f2上一个textbox
怎么才能让button1.text=textbox.text,并且跟踪显示
谢谢
//form1
form2 f2 = new form2(this);
f2.show();
//form2
private readonly form1 f1 = null;
public form2(form1 _f1){
f1 = _f1;
}
... textbox_textchange(...) {
f1.button1.text = this.textbox.text;
}
不太明白你的意思!详细点!
form2 f2 = new form2(this);//实例化Form2时, 把Form1的对象一起带过去
public form2(form1 _f1){ //实例化Form2时, 会取得Form1
... textbox_textchange(...) {
f1.button1.text = this.textbox.text;
//Form2中textbox的TextChage事件中, 把Form1的按钮文本改掉
}
首先程序从f2启动
f1中写入代码
Public WriteOnly Property MyText()
Set(ByVal Value)
Button1.Text = Value
End Set
End Property
在f2的代码中,Inherits System.Windows.Forms.Form下面写入
Dim Myf1 As f1
修改f2_Load
Private Sub f2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Myf1 = New f1
Myf1.Show()
End Sub
f2中加入代码
Private Sub TextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Try
f1.MyText = TextBox.Text
Catch
End Try
End Sub
dim f as new f2
button1.text=f.textbox.text两个窗体间进行数据传输
要想frm1上的button1的名字与frm2上的textbox1.text上的时时一样就要先启动frm2
把frm2设置为启动项
窗体2
Load事件
dim f1 as new frm1
f1.show
再用frm2的textbox1_textchanged事件
f1.button1.text=textbox1.text
或者先启动模块,把模块设置为启动项
再模块中写入
public f1 as new frm1
sub Main()
Application.Run(f1)
end sub
在frm1的Load事件写入
dim f2 as new frm2
f2.show
在frm2窗体的textbox1_textchanged事件
写入
f1.button1.text=textbox1.text