Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从控制器类更新MainWindow中的标签?_C#_User Interface_Mono_Label_Gtk2 - Fatal编程技术网

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

C# 如何从控制器类更新MainWindow中的标签?,c#,user-interface,mono,label,gtk2,C#,User Interface,Mono,Label,Gtk2,我的控制器是实现我的模型并进行计算的主要方法。我的MainWindow类有一个按钮,它将在单击后更新来自控制器的结果。现在,我无法对如何从控制器更新标签进行重新分级 按钮方法是我的观点 public void Button1_Clicked(object sender, EventArgs args) { } 我尝试从控制器类访问MainWindow类 Application.Init(); MainWindow win = new

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

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

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

公开标签/控件是一种糟糕的做法

因此,我建议的解决方案是编写一个带有字符串参数的公共方法来设置文本

e、 g:

编辑:

要设置文本,请使用

win.SetLabelText("some text");
win.SetLabelText("some text");