我可以知道在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");
当保存数据或执行任何操作时,此代码正常工作。现在,如果保存或删除数据,如何将父表单原始邮件设置回状态栏。
答案 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 非常有帮助。