我的控制器是实现我的模型并进行计算的主要方法。我的MainWindow类有一个按钮,单击后它将更新控制器中的结果。现在,我在升级如何从控制器更新标签方面遇到问题。

按钮方法是我的看法

public void Button1_Clicked(object sender, EventArgs args)
    {

 }


我尝试从控制器类访问MainWindow类

            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修饰符编写相应的方法。

将标签/控件公开是一种不好的做法。

因此,我建议的解决方案将是使用编写一个公共方法,例如用于设置文本的字符串参数;

例如。:

public void SetLabelText(string text)
{
    LabelResult.Text = text;
}


编辑:

设置文字使用

win.SetLabelText("some text");

关于c# - 如何从 Controller 类更新MainWindow中的标签?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53293098/

10-13 06:19