gpt4 book ai didi

c# - 将一种形式的控件用于另一种形式

转载 作者:行者123 更新时间:2023-11-30 13:12:42 25 4
gpt4 key购买 nike

我有一个应用程序,在一种形式 (Form1) 中有很多复选框和文本框,在 Form2 中我只有一个文本框,但我想放一些内容从 Form1 文本框放入 Form2 文本框,像这样,但在表单之间:

textBox1.Text = "Test: " + textBox1 + "\n" + textBox3;

作为 Form2 中的 textBox1Form1 中的第二个 textBox1textBox3 ,但我该怎么做呢?谢谢。

最佳答案

根据启动第二个表单的方式,您可以在 Form2 中分配一个引用 Form1 的成员对象,或者如果您使用的是 MDI 界面,则存在一个表单集合,您可以从中检索对 Form1 的引用。

例如,您可以在 Form2 类中包含以下代码:

public partial class Form2 : Form
{
public Form1 LaunchOrigin { get; set; }
// and so on

现在您可以在启动 Form2 时分配 LaunchOrigin 成员。这是一个例子:

Form2 newForm = new Form2();
newForm.LaunchOrigin = this;
newForm.Show();

您现在可以访问 Form1 及其所有成员。这是一个简单的例子:

    private void Form2_Load(object sender, EventArgs e)
{
this.Text = LaunchOrigin.Text;
}

您必须记住,控件被声明为私有(private)的,因此您不能直接访问它们。您可以在引用该控件的 Form1 上编写一个属性,但这通常不是一个好主意。然而,为了完整起见,这里有一些代码可以用来在 Form1 上显示一个按钮:

public partial class Form1 : Form
{
public Button theButton;
public Form1()
{
InitializeComponent();
theButton = button1; // where button1 is what I dragged on
}
// and so on

尽管您的要求相对容易实现,但它会让您走上某种脆弱应用程序结构的道路。仔细想想您要在表单之间公开什么,也许它应该是一种可以绑定(bind)到两种表单的独特类型,这样一旦您更改了基础类型,您就可以更改两者的表示。

关于c# - 将一种形式的控件用于另一种形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1736444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com