Winforms 如何在C#中的同一项目中从另一个WinForm访问一个WinForm的文本框值?

Winforms 如何在C#中的同一项目中从另一个WinForm访问一个WinForm的文本框值?,winforms,Winforms,我想通过填充一个新表单来获取新的值。 我想访问新WinForm中存在的控件的值。 和更新当前WinForm中的值 谁能帮我解决这个问题 谢谢 您可以将textbox的值分配给某个静态变量,然后在目标窗体上访问该变量。您可以将textbox的值分配给某个静态变量,然后在目标窗体上访问该变量。将修饰符属性更改为“Public”或“Internal”(VB中的Friend)。然后可以将其作为公共字段访问 当您获得更多Windows窗体经验时,您可以研究使用窗体后面的数据绑定和模型,这样您就不必直接访问

我想通过填充一个新表单来获取新的值。 我想访问新WinForm中存在的控件的值。 和更新当前WinForm中的值

谁能帮我解决这个问题


谢谢

您可以将textbox的值分配给某个静态变量,然后在目标窗体上访问该变量。

您可以将textbox的值分配给某个静态变量,然后在目标窗体上访问该变量。

将修饰符属性更改为“Public”或“Internal”(VB中的Friend)。然后可以将其作为公共字段访问


当您获得更多Windows窗体经验时,您可以研究使用窗体后面的数据绑定和模型,这样您就不必直接访问控件,但这涉及的内容要多得多。

将修饰符属性更改为“Public”或“Internal”(VB中的Friend)。然后可以将其作为公共字段访问

随着您获得更多Windows窗体经验,您可以研究在窗体后面使用数据绑定和模型,这样您就不必直接访问控件,但这涉及的内容要多得多。

最简单的方法(在我看来)是通过属性公开这一点

例如:

表格2

public string MyTextBoxValue
{
    get
    {
        return myTextBox.Text;
    }
    set
    {
        myTextBox.Text = value;
    }
}
在表格1中(显示其他表格时):

..然后,当您想从另一种形式读取值时:

Form2 form2 = new Form2();
form2.MyTextBoxValue = "whatever it should be";
form2.Show();
string someVariable = form2.MyTextBoxValue;
这样
Form1
就不需要知道用哪种控件(如果有的话)来表示
Form2
中的值,这意味着这可以在
Form2
中更改,而不需要更改
Form1
的代码。它还可以在将值分配给
Form2
中的
TextBox
控件之前对该值执行验证,以防对有效值有限制。

我认为最简单的方法是通过属性公开该值

例如:

表格2

public string MyTextBoxValue
{
    get
    {
        return myTextBox.Text;
    }
    set
    {
        myTextBox.Text = value;
    }
}
在表格1中(显示其他表格时):

..然后,当您想从另一种形式读取值时:

Form2 form2 = new Form2();
form2.MyTextBoxValue = "whatever it should be";
form2.Show();
string someVariable = form2.MyTextBoxValue;
这样
Form1
就不需要知道用哪种控件(如果有的话)来表示
Form2
中的值,这意味着这可以在
Form2
中更改,而不需要更改
Form1
的代码。它还可以在将值分配给
Form2
中的
TextBox
控件之前对该值执行验证,以防对有效值有限制