从另一个类更新 UI 控件

梅迪斯

我正在使用 SignalR 来实现一个通知系统来在我的应用程序实例之间交换信息。我有以下集线器类:

[HubName("OpenHub")]
public class OpenHub:Hub
{
    public void DetermineLength(string message)
    {
        Clients.All.RecieveNewInfo(newMessage);
        //How to use something like the following line?
        //concerning that Form1 is loaded at application startup
        //and I should not create a new instance
        //Form1.lstMessages.Add(newMessage);
    }
}

然而,我必须更新一些 UI 控件,包括一个标签和一个列表框,以记录到达的任何新信息。除了在表单代码中定义我的类之外,当我在不同的类中定义我的集线器时,如何更新 Form 对象以显示这些新信息?

酒园

您可以在Program类或Form1类中使用公共静态属性来保存对它的引用。

例如在你Program使用之前Application.Run(new Form1());

你可以这样做:

public static Form1 MainForm { get; set; }  

然后在 Main()

MainForm = new Form1(); 
Application.Run(MainForm); 

您现在可以从集线器访问您的表单:

[HubName("OpenHub")]
public class OpenHub:Hub
{
    public void DetermineLength(string message)
    {
        Clients.All.RecieveNewInfo(newMessage);

        Program.MainForm.lstMessages.Add(newMessage);
    }
}   

当然,这lstMessages应该是公开的。或者最好在表单中公开一些公共方法来与之通信。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何告诉ViewController从另一个类更新其UI

来自分类Dev

如何与另一个类的Form控件通信?

来自分类Dev

android:从另一个类中的另一个线程更新UI

来自分类Dev

从另一个线程更新控件的属性(label.Text)

来自分类Dev

我需要从另一个类(C#)访问表单控件

来自分类Dev

在另一个应用程序中查找特定类的控件

来自分类Dev

如何将一个属性绑定到另一个类的属性(没有UI控件)?

来自分类Dev

使用事件来更新后台工作人员与另一个类的UI

来自分类Dev

从非UI线程更新控件

来自分类Dev

在另一个类的UI线程上运行

来自分类Dev

WPF延迟异步更新UI控件吗?

来自分类Dev

Flutter调用setState()来更新另一个类中的UI

来自分类Dev

从android中的另一个类访问ui

来自分类Dev

从另一个线程访问UI控件

来自分类Dev

从另一个类中拖动带有控件的表单

来自分类Dev

如何从另一个控件调用另一个控件的LostFocus事件

来自分类Dev

从另一个类更新UI

来自分类Dev

C#/ WPF从另一个类中创建的另一个线程更新UI

来自分类Dev

在另一个类中调用一个segue,使UI迅速

来自分类Dev

通过Background Worker通过另一个类VB.Net中的方法更新主窗体上的控件

来自分类Dev

如何将一个属性绑定到另一个类的属性(没有UI控件)?

来自分类Dev

C#-如何从另一个类中的线程更新主UI

来自分类Dev

更改另一个控件单击事件的CSS类名称

来自分类Dev

从ActionBlock更新UI控件

来自分类Dev

从单独类中的另一个方法更新用户控件内的WPF进度条值?

来自分类Dev

是否可以在自定义View类中创建另一个控件?

来自分类Dev

从另一个控件的click事件中使用CodeBehind更新Site.master控件

来自分类Dev

从另一个GPIOListener类更新UI

来自分类Dev

如何在另一个类中使用此扩展委托更新我的 ViewController UI

Related 相关文章

  1. 1

    如何告诉ViewController从另一个类更新其UI

  2. 2

    如何与另一个类的Form控件通信?

  3. 3

    android:从另一个类中的另一个线程更新UI

  4. 4

    从另一个线程更新控件的属性(label.Text)

  5. 5

    我需要从另一个类(C#)访问表单控件

  6. 6

    在另一个应用程序中查找特定类的控件

  7. 7

    如何将一个属性绑定到另一个类的属性(没有UI控件)?

  8. 8

    使用事件来更新后台工作人员与另一个类的UI

  9. 9

    从非UI线程更新控件

  10. 10

    在另一个类的UI线程上运行

  11. 11

    WPF延迟异步更新UI控件吗?

  12. 12

    Flutter调用setState()来更新另一个类中的UI

  13. 13

    从android中的另一个类访问ui

  14. 14

    从另一个线程访问UI控件

  15. 15

    从另一个类中拖动带有控件的表单

  16. 16

    如何从另一个控件调用另一个控件的LostFocus事件

  17. 17

    从另一个类更新UI

  18. 18

    C#/ WPF从另一个类中创建的另一个线程更新UI

  19. 19

    在另一个类中调用一个segue,使UI迅速

  20. 20

    通过Background Worker通过另一个类VB.Net中的方法更新主窗体上的控件

  21. 21

    如何将一个属性绑定到另一个类的属性(没有UI控件)?

  22. 22

    C#-如何从另一个类中的线程更新主UI

  23. 23

    更改另一个控件单击事件的CSS类名称

  24. 24

    从ActionBlock更新UI控件

  25. 25

    从单独类中的另一个方法更新用户控件内的WPF进度条值?

  26. 26

    是否可以在自定义View类中创建另一个控件?

  27. 27

    从另一个控件的click事件中使用CodeBehind更新Site.master控件

  28. 28

    从另一个GPIOListener类更新UI

  29. 29

    如何在另一个类中使用此扩展委托更新我的 ViewController UI

热门标签

归档