Dej*_*ano 6 .net c# textbox winforms
我正在尝试更改位于的文本框的值
public partial class Form1 : Form
Run Code Online (Sandbox Code Playgroud)
从另一个班级.我尝试过这样的事情
public void echo(string text)
{
this.textBox1.AppendText(text + Environment.NewLine);
}
Run Code Online (Sandbox Code Playgroud)
从另一个课我称之为
Form1 cout = new Form1();
cout.echo("Does this work?");
Run Code Online (Sandbox Code Playgroud)
我得到空白输出.我也尝试将static关键字添加到echo方法中,但我得到了相同的结果.我搜索了Stack Overflow并没有得到任何解决方案.有一件事会触发我,如果我添加cout.Show()相同的表单弹出有效textBox1内容.这是为什么?
为什么不立即显示内容?我该如何解决这个问题?
mr.*_*eze 11
每次您说新的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);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,您在echo方法中访问Form1的特定实例:
public void echo(string text) {
this.MyForm.textBox1.AppendText(text + Environment.NewLine);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12803 次 |
| 最近记录: |