有没有办法修改文本框中的文本,或者来自不同表单的类似内容?
在我的程序中,我需要生成一个新的Form2,并让所有文本框保存基于Form3中输入的内容的信息。到目前为止我只做了:
Form2 form2 = new Form2();
form2.Show();
我只是不知道如何从form3访问form2.textbox1.Text。我在网上看了一下,但找不到我想要的东西,我尝试了一些不同的东西但都没有成功。
谢谢! :)
答案 0 :(得分:2)
将Form2
的实例传递给Form3
:
public Form3(Form2 referrer)
{
var txt = referrer.TextBox1Text;
}
然后在调用时:
Form3 f3 = new Form3(this);
f3.Show();
你必须确保在Form2
上构建一个属性,如下所示:
internal string TextBox1Text { get { return textBox1.Text; } }
答案 1 :(得分:1)
问题是每个表单中定义的控件不是公共对象,因此您无法从表单外部访问它们。
为什么不在每个表单中定义一个公共方法来从您需要的控件中检索/设置所需的值?
我认为这比揭露你的控件更好。
答案 2 :(得分:1)
假设您在Form3后面的代码中实例化Form2(调用“new”Form2())......
您可以在Form2中创建一个公共方法,以提供您需要的辅助功能。例如:
(在Form2中 - 后面的代码)
public SetTextboxTextProperty(string text)
{
this.Textbox1.Text = text;
}
来自Form3:
Form2 form2 = new Form2();
form2.SetTextboxTextProperty("your data");
form2.Show();