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