我是 c# 和 visual studio 的新手,但不是一般的编程。 我搜索了 3 天的问题答案,发现了很多,但由于某些奇怪的原因(我确定我遗漏了一些非常明显的东西),我无法让它工作。 我认为这是像我这样的新手问的最基本的问题。 我有一个带有文本框和按钮的表单(Form3)(我设置它只是为了测试目的)。 我想从另一个类(class)填充和阅读这个文本框。我知道最正确的方法是在 Form3.cs 中使用 GET 和 SET 访问器创建一个属性。我做到了,但我无法让它工作。我没有收到任何错误消息,但我也无法设置文本框的值。它只是保持空白。 这是我的示例代码:
namespace WindowsFormsApplication1
{
public partial class Form3 : Form
{
public string setCodes
{
get { return test1.Text; }
set { test1.Text = value; }
}
public Form3()
{
InitializeComponent();
}
private void Form3_Load(object sender, EventArgs e)
{ }
private void button1_Click(object sender, EventArgs e)
{
a.b();
}
}
public class a
{
public static void b()
{
Form3 v = new Form3();
v.setCodes = "abc123";
}
}
}
有人可以帮我解决这个问题吗?
最佳答案
问题是您将值设置为表单的新实例。尝试这样的事情:
public partial class Form3 : Form {
public string setCodes
{
get { return test1.Text; }
set { test1.Text = value; }
}
private A a;
public Form3()
{
InitializeComponent();
a = new A(this);
}
private void button1_Click(object sender, EventArgs e)
{
a.b();
}
private void Form3_Load(object sender, EventArgs e)
{
}
}
public class A
{
private Form3 v;
public a(Form3 v)
{
this.v = v;
}
public void b()
{
v.setCodes = "abc123";
}
}
关于c# - 从另一个类 C# 访问窗体的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10576856/