C# 全局状态栏

C# 全局状态栏,c#,C#,我有一个状态栏,当窗体加载时我进行了初始化。问题是我需要知道如何使其全球化,以便在我进入应用程序的其他领域时可以对其进行更新。有什么想法吗 编辑:没关系,我是这样想的,然后在Form1\u Load中对其进行编码。现在我可以通过statusPanel.text=blabal稍后更改状态栏文本 public partial class Form1 : Form { StatusBar mainStatusBar = new StatusBar(); StatusBarPanel s

我有一个状态栏,当窗体加载时我进行了初始化。问题是我需要知道如何使其全球化,以便在我进入应用程序的其他领域时可以对其进行更新。有什么想法吗

编辑:没关系,我是这样想的,然后在Form1\u Load中对其进行编码。现在我可以通过statusPanel.text=blabal稍后更改状态栏文本

public partial class Form1 : Form
{
    StatusBar mainStatusBar = new StatusBar();
    StatusBarPanel statusPanel = new StatusBarPanel();
    StatusBarPanel datetimePanel = new StatusBarPanel();
    public Form1()

也许你可以为状态栏创建一个类

public static class StatusBar
{
   public void Start()
   {
      //Code for your status bar
   }
}
然后可以调用StatusBar。从表单加载事件开始


希望这能有所帮助。

实现这一点的一种方法是为应用程序创建一个shell表单,其中包含全局UI对象,如状态栏、常用按钮等。在shell中,您可以定义一个区域,例如一个显示应用程序内容的面板。如果您熟悉ASP.NET中的母版页,则该概念类似于母版页

如果将应用程序内容项定义为UserControls或可以在Shell的内容面板中呈现的某种类型的控件,则Shell可以充当整个应用程序的指挥者。应用程序内容控件可以挂接到shell中,以修改全局项,如状态栏等


这种类型的图案有时被称为屏幕激活器或屏幕导体。您可以通过多种不同的方式来实现它,具体取决于您希望实现的复杂程度。

将状态栏作为公共属性公开,然后您应该能够从其他类访问它。

您正在使用MDI表单,并且状态栏位于父表单上,在初始化子表单后,我希望更新状态栏。