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

时间:2018-11-14 04:13:14

标签: c# user-interface mono label gtk2

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

我只能通过我的按钮访问标签,这对我完全没有意义

1 个答案:

答案 0 :(得分:0)

如果要更新表单中的标签或任何其他控件,则应使用public修饰符编写相应的方法。

公开标签/控件是一个坏习惯。

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

例如:

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

编辑:

设置文字使用

win.SetLabelText("some text");