如何在 C# 中修改不同窗体的控件

本文关键字:窗体 控件 修改 | 更新日期: 2023-09-27 18:34:52

有没有办法修改文本框中的文本,或者从不同的形式修改类似的东西?

在我的程序中,我需要生成一个新的 Form2,并让所有文本框都保存基于 Form3 中输入的内容的信息。到目前为止,我只做了:

Form2 form2 = new Form2();
form2.Show();

我只是不知道如何访问form2.textbox1.Text,例如,从form3。我在网上看过,但没有找到我想要的东西,我尝试了一些不同的东西,但没有成功。

谢谢! :)

如何在 C# 中修改不同窗体的控件

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; } }

假设您正在 Form3 的代码中实例化 Form2(调用"新"Form2(((...

您可以在 Form2 中创建一个公共方法,该方法将提供所需的辅助功能。例:

(在 Form2 中 - 代码隐藏(

public SetTextboxTextProperty(string text)
{
    this.Textbox1.Text = text;
}

从 Form3:

Form2 form2 = new Form2();
form2.SetTextboxTextProperty("your data");
form2.Show();

问题是每个窗体中定义的控件不是公共对象,因此无法从窗体外部访问它们。

为什么不在每个窗体中定义一个公共方法来从所需的控件中检索/设置所需的值?

我认为这是比公开控件更好的方法。