更新状态栏消息的最佳方法是什么?

时间:2011-09-23 10:12:33

标签: c# statusbar

我可以知道在MDI应用程序中更新状态栏消息的最佳方法。我遇到过这段代码,用于在子窗体的父窗体状态栏中显示消息,但我想根据用户的操作更新消息。 以父母形式

private void Form1_Load(object sender, EventArgs e)
    {
        FrmShiftManagement newMDIChild = new FrmShiftManagement();
        newMDIChild.MdiParent = this;
        this.LayoutMdi(MdiLayout.Cascade);
        newMDIChild.Show();

        StatusMessage.Text = "Ready";

        //toolstriplabel1.Alignment = ToolStripItemAlignment.Right;
    }



 public void ShowStatus(string status)
    {
        this.StatusMessage.Text = status;
        Application.DoEvents();
    }

以儿童形式

((FrmTRMS)this.MdiParent).ShowStatus("Item(s) Saved");

当保存数据或执行任何操作时,此代码正常工作。现在,如果保存或删除数据,如何将父表单原始邮件设置回状态栏。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

string oldMsg = "";
public void ShowStatus(string status)
{
    oldMsg = this.StatusMessage.Text;
    this.StatusMessage.Text = status;
    this.StatusMessage.Invalidate(); // To force status bar redraw
    this.StatusMessage.Refresh();
}

public void RestoreStatus()
{
    this.StatusMessage.Text = oldMsg;
}

并在儿童表单上使用RestoreStatus(),或者随时随地使用。{/ p>

答案 1 :(得分:0)

我有解决方案w.r.在状态栏中显示从子表单到父表单的消息..我已经浏览了这个链接.. http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx 非常有帮助。