在另一个表单的文本框中设置值

时间:2014-08-02 17:19:57

标签: vb.net

我正在使用vb.net 2013.I有3种形式:Form1,Form2,Form3

在form1上我有一个按钮。按下此按钮时,form2处于打开状态。单击事件中的代码为:

Dim dlg1 As New Form2

dlg1.Show(Me)

在From2里面我有一个TextBox(Txt1)和一个按钮。当点击这个按钮时,Form3是打开的。点击事件中的代码是:

Dim dlg2 As New Form3

dlg2.Show(Me)

在form3中我有一个按钮,用于在Form2上的文本框(txt1)中设置一个值。我使用这段代码:

Form2.txt1.Text="123"

问题是,在我按下form3上的按钮后,form2上的文本框为空,没有设置任何值。

我该怎么办? (我不想改变表格的打开方式)

谢谢!

2 个答案:

答案 0 :(得分:1)

Form2.txt1引用表单的default instance

您正在使用新实例:

Dim dlg1 As New Form2

您需要替换此代码:

Dim dlg1 As New Form2
dlg1.Show(Me)

使用

Form2.Show(Me) 'not recommended

或者将您的表单Owner投射到之前的表单类型,并设置属性(推荐):

DirectCast(Me.Owner, Form2).txt1.Text = "123"

答案 1 :(得分:0)

使用Form2.Show(),Form3.Show()
打开表单 然后如果你把它放在你的Form3按钮点击事件" Form2.txt1.Text =" 123" "它会起作用。