如何从控制器 class 更新 MainWindow 中的标签?
How to update the label in MainWindow from controller class?
我的控制器是实现我的模型并进行计算的主要方法。我的 MainWindow class 有一个按钮,单击后它会更新我的控制器的结果。现在我在重新分级如何从我的控制器更新标签时遇到问题。
按钮方式是我的观点
public void Button1_Clicked(object sender, EventArgs args)
{
}
我尝试从我的控制器 class
访问 MainWindow class
Application.Init();
MainWindow win = new MainWindow();
//here I want to use win object to access my view
//but I can not access my labels
win.Show();
Application.Run();
奇怪的是:
win.Button1_Clicked.first_label
我只能通过我的按钮访问标签,这对我来说完全没有任何意义
如果你想更新表单中的标签或任何其他控件,你应该编写一个带有 public 修饰符的相应方法。
使 labels/controls public 是一种不好的做法。
因此,我建议的解决方案是编写一个 public 方法,例如设置文本的字符串参数;
例如:
public void SetLabelText(string text)
{
LabelResult.Text = text;
}
编辑:
设置文本使用
win.SetLabelText("some text");
我的控制器是实现我的模型并进行计算的主要方法。我的 MainWindow class 有一个按钮,单击后它会更新我的控制器的结果。现在我在重新分级如何从我的控制器更新标签时遇到问题。
按钮方式是我的观点
public void Button1_Clicked(object sender, EventArgs args)
{
}
我尝试从我的控制器 class
访问 MainWindow class Application.Init();
MainWindow win = new MainWindow();
//here I want to use win object to access my view
//but I can not access my labels
win.Show();
Application.Run();
奇怪的是:
win.Button1_Clicked.first_label
我只能通过我的按钮访问标签,这对我来说完全没有任何意义
如果你想更新表单中的标签或任何其他控件,你应该编写一个带有 public 修饰符的相应方法。
使 labels/controls public 是一种不好的做法。
因此,我建议的解决方案是编写一个 public 方法,例如设置文本的字符串参数;
例如:
public void SetLabelText(string text)
{
LabelResult.Text = text;
}
编辑:
设置文本使用
win.SetLabelText("some text");