繁体   English   中英

如何从控制器类更新MainWindow中的标签?

[英]How to update the label in MainWindow from controller class?

我的控制器是实现我的模型并进行计算的主要方法。 我的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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM