0

我正在创建一个会说话并且可以为我做一些小任务的小程序。我想创建第二个表单 (Form2),我将在其中输入我的姓名和其他个人信息。

如何让 Form1 读取 Form2 中的文本字段?

4

4 回答 4

3

如何让 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,而不是让其他代码弄乱它。

于 2013-09-21T15:19:06.910 回答
0

您可以创建 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()
于 2013-09-21T15:19:28.747 回答
0

使用修饰符创建全局变量,public然后使用Text_Changed事件或button_click事件将文本框的文本分配给变量(如果您想在单击按钮后检索文本。

然后在你的Form1. 你用

    Form2 form = new Form2();
    //Then do whatever u want with the variable
    MessageBox.Show(form.globalVariableName);

或者

将文本框的修饰符属性设置为publicin yourform2和 in yourForm1

    Form2 form = new Form2();
    //Then do whatever u want with the textbox
    MessageBox.Show(form.TextBoxName.Text);
于 2013-09-21T15:20:23.260 回答
0

这应该让你开始:

//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;
于 2013-09-21T15:22:39.913 回答