全球状态栏

时间:2011-04-14 02:29:07

标签: c#

我有一个状态栏,我在表单加载时进行了初始化。问题是我需要知道如何使它全局化,以便我可以在我移动到我的应用程序的其他区域时更新它。任何想法?

编辑:没关系我通过这样做然后在Form1_Load中编码来弄明白。现在我可以通过statusPanel.Text = blablabal稍后更改状态栏文本。

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

3 个答案:

答案 0 :(得分:0)

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

public static class StatusBar
{
   public void Start()
   {
      //Code for your status bar
   }
}

然后,您可以在StatusBar.Start()事件中调用Form_Load

希望这有帮助。

答案 1 :(得分:0)

实现此目的的一种方法是为您的应用程序创建一个“shell”表单,其中包含全局UI对象,如状态栏,常用按钮等。在shell中,您可以定义一个区域(例如Panel),您将在其中显示你的申请内容。如果您熟悉它,该概念类似于ASP.NET中的母版页。

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

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

答案 2 :(得分:0)

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