我正在创建一个会说话并且可以为我做一些小任务的小程序。我想创建第二个表单 (Form2),我将在其中输入我的姓名和其他个人信息。
如何让 Form1 读取 Form2 中的文本字段?
如何让 Form1 读取 Form2 中的文本字段?
大概Form1
会创建一个Form2
... 的实例,因此请保留该实例,并在表单上公开适当的属性:
Form2 form2 = new Form2();
form2.Show(); // Or ShowDialog?
string name = form2.UserName;
的实现UserName
很可能只是从文本字段中获取值:
public string UserName { get { return userNameTextField.Text; } }
您可以使用属性直接公开文本字段,但我个人倾向于认为表单应该“拥有”它的 UI,而不是让其他代码弄乱它。
您可以创建 Methods 和 form1 以从中检索数据textfields
public string GetTextFieldText()
{
return textfield.Text;
}
或者用属性包装它
public string TextField
{
get
{
return textfield.Text;
}
}
然后从 form2 访问它,如下所示:
Form1 frm1 = new Form1();
string text = frm1.TextField; // Or GetTextFieldText()
使用修饰符创建全局变量,public
然后使用Text_Changed
事件或button_click
事件将文本框的文本分配给变量(如果您想在单击按钮后检索文本。
然后在你的Form1
. 你用
Form2 form = new Form2();
//Then do whatever u want with the variable
MessageBox.Show(form.globalVariableName);
或者
将文本框的修饰符属性设置为public
in yourform2
和 in yourForm1
Form2 form = new Form2();
//Then do whatever u want with the textbox
MessageBox.Show(form.TextBoxName.Text);
这应该让你开始:
//Global Variable
Form2 frm2;
//assuming form1 is the creator of form2
public Form1()
{
frm2 = new Form2();
}
//in your Form1, under read data button for example:
string myName = frm2.TextBox1.Text;