我有一个状态栏,我在表单加载时进行了初始化。问题是我需要知道如何使它全局化,以便我可以在我移动到我的应用程序的其他区域时更新它。任何想法?
编辑:没关系我通过这样做然后在Form1_Load中编码来弄明白。现在我可以通过statusPanel.Text = blablabal稍后更改状态栏文本。
public partial class Form1 : Form
{
StatusBar mainStatusBar = new StatusBar();
StatusBarPanel statusPanel = new StatusBarPanel();
StatusBarPanel datetimePanel = new StatusBarPanel();
public Form1()
答案 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)
将状态栏公开为公共属性,然后您应该能够从其他类访问它。