vb.net中把窗体Form1的textbox值传给窗体Form2的textbox值,怎么实现?求大神指教

这个是窗体Form1

这个是窗体Form2

把“宣汉”在这个窗体中显示出来。

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim a As New Form2(TextBox1.Text) '通过参数传递,同1
a.Show()
'form2.show()‘直接启动。同2
End Sub
End Class
Public Class Form2
Sub New(ByVal str As String)
' 此调用是设计器所必需的。
InitializeComponent()
' 在 InitializeComponent() 调用之后添加任何初始化。
TextBox1.Text = str '通过参数传递 1
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'直接在load事件中添加。此两法都可实现。2
' TextBox1.Text = Form1.TextBox1.Text
End Sub
End Class
'1和1一种方法,2和2是一种方法,可以删掉其中一种。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-29
两种方法:
一:在From2的 public Form2()中问号里添加 string strTxt
既 public Form1(string strTxt)

InitializeComponent();
this.textBox1.Text=strTxt;

在Form1的Button click 事件里

From2 f=new Form2(this.textBox1.Text.toString())
f.show();

二:
在Form2中申明一个属性
string strTxt=“”:
public string StrTxt
{
get{ return strTxt: }
set{ strTxt=value: }
}
然后在窗体加载里写入 this.textBox1.Text=this.StrTxt;
在Form1的Button click 事件里

Form2 f=new Form2();
f.StrTxt=this.textBox.Text.toString();
f.show();

第一种方法方便,第二种推荐使用,安全性高追问

这个是用vb.net写的,画波浪线提示出错了

前面还有默认参数,这个应该怎么传递呢



第2个回答  2013-11-30
Form2.Text2.text = Form1.Text1.text
把Text1和Text2换成你对应的文本框名称,

另外,Form2必须已经初始化过(曾经打开过,或者曾经show并hide过)
相似回答