2012-11-27 82 views
3

如果我将值存储到form1的文本框中,并且必须将该值传递到另一个表单2的另一个文本框中。什么方法可以将值从一种形式传递给另一种形式?如何将文本框的值从一种表单传递到另一种表单

+0

可能重复的[如何更新form2中的文本框从form2?](http://stackoverflow.com/questions/7969582/how-to-update-textbox-in-form1-from-form2) –

+0

怎么回事像这被认为是重复的?上面的链接是一个C#示例,而不是一个VB示例。 – dragonore

回答

0

如果两个形式运行,那么你可以使用

form2.TextBox1.Text=form1.TextBox1.Text 

否则,您可以在Form2的声明一个公共字符串变量,在任何情况下,

dim Obj as new Form2 
Obj.StrVariable=Me.TextBox1.Text 
Obj.Show 

和Form 2上载,

Me.TextBox1.Text=StrVariable 
0

在Form1.vb中,请确保您使用Button.Click等事件,并在其内部

Dim obb As New Form2 
obb.val = Me.TextBox1.Text() 
obb.Show() 
Me.Hide() 

在Form2.vb使用一个名为 “VAL”

Public Property val As String 

而且像MyBase.Load

TextBox1.Text = val 
-1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

' timer1 must be set to true 

Timer1.Start() Form1.Show() Me.Hide() 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
    Form1.TextBox13.Text = TextBox1.Text 
0

中的事件属性为了获取控件的值(TextBox.Text)从另一个表单。最好的方法是创建一个模块并为私有变量创建一个属性。 持有客户名字的属性示例。

Module modPrivateVariables

Private strCustomerFirstNameSTR As String

Public Property getCustomerFirstNameSTR() As String 
    Get 
     Return strCustomerFirstNameSTR 
    End Get 
    Set(ByVal strCustomerFirstName As String) 
     strCustomerFirstNameSTR = strCustomerFirstName 
    End Set 
End Property 

End Module

然后在文本框中的文本改变事件中使用属性(getCustomerFirstNameSTR)举办的文本框中的文本。例如,如果您有一个名为(txtCustomerFirstName)UNDER的文本框,那么您将输入getCustomerFirstNameSTR = txtCustomerFirstName.Text。

现在将文本框的文本分配给“getCustomerFirstNameSTR”属性。现在,您可以从应用程序的任何位置和任何表单中访问此属性的值。例如,如果你有另一种形式的文本框,比如称为“txtBoxInForm2”的Form2,则可以调用txtBoxInForm2.Text = getCustomerFirstNameSTR。

如果您想清除该属性的值,只需键入getCustomerFirstNameSTR = String.Empty。要理解的主要事情是,当你在一个表单(类)中创建一个变量并尝试从另一个表单(另一个类)访问它的值时,那么该变量必须重新实例化一次。

发生这种情况后,变量将重置为其默认值,该值为空字符串。这会导致您每次从其他表单调用时都不会收到任何内容(空的文本框)。属性不需要重新实例化,因为它们可以通过属性自己(get和set)方法通过公共方法访问。

1

有没有。的方式。

1.使用TextChanged事件。

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
    Form2.TextBox1.Text = TextBox1.Text 
End Sub 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Form2.Show() 
End Sub 
  • 使用点击事件:

    私人小组的button1_Click(发送者为对象,例如作为EventArgs的)把手Button1.Click Form2.TextBox1.Text = TextBox1中。文本 结束子

  • 使用LostFocus事件:

    私人小组TextBox1_LostFocus(发送者为对象,例如作为EventArgs的)把手TextBox1.LostFocus Form2.TextBox1.Text = TextBox1.Text 结束小组

  • 同样可以与每一个事件的工作。

    相关问题