gpt4 book ai didi

c# - 从另一个类更改文本框

转载 作者:太空狗 更新时间:2023-10-29 20:52:59 25 4
gpt4 key购买 nike

我正在尝试更改位于

中的文本框的值
public partial class Form1 : Form

来自另一个类(class)。我试过这样的事情

public void echo(string text)
{
this.textBox1.AppendText(text + Environment.NewLine);
}

从另一个类(class)我这样调用它

Form1 cout = new Form1();
cout.echo("Does this work?");

我得到空白输出。我还尝试将 static 关键字添加到 echo 方法中,但我得到了相同的结果。我搜索了 Stack Overflow,但没有找到任何可行的解决方案。有一件事触发了我,如果我添加 cout.Show(),则会弹出相同的表单,其中包含有效的 textBox1 内容。这是为什么?

为什么它不立即显示内容?我该如何解决这个问题?

最佳答案

每次您使用 new Form1() 时,您都在创建该表单的一个独特且独立的实例。相反,您需要在尝试访问表单的类中创建一个变量。例如,让我们在构造函数中传递它:

public class MyClass {
public Form1 MyForm;

public MyClass(Form1 form){
this.MyForm = form;
}

public void echo(string text) {
this.MyForm.textBox1.AppendText(text + Environment.NewLine);
}

}

请注意,您在 echo 方法中访问了 Form1 的特定实例:

public void echo(string text) {
this.MyForm.textBox1.AppendText(text + Environment.NewLine);
}

关于c# - 从另一个类更改文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16877431/

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