C#MDI:如何将父状态标签更改为活动子表单名称

时间:2014-10-10 22:28:25

标签: c# forms parent-child mdi toolstripstatuslabel

我正在开发一个Windows窗体MDI应用程序,它可以在自己内部创建新的子窗体。父表单在Statusstrip中有一个StatusLabel。我试图弄清楚如何将父窗体的StatusLabel文本值更改为活动子窗体的名称。我在子表单中创建了一个“激活”事件,但我不知道如何从子表单“激活”代码块中更改父表单statusLabel。

基本上我想将父表单中的标签更改为子表单名称属性。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试订阅子表单的Activated事件:

protected override void OnLoad(EventArgs e) {
  base.OnLoad(e);

  for (int i = 0; i < 3; ++i) {
    Form f = new Form();
    f.Activated += f_Activated;
    f.MdiParent = this;
    f.Text = "Form #" + i.ToString();
    f.Show();
  }      
}

void f_Activated(object sender, EventArgs e) {
  toolStripStatusLabel1.Text = ((Form)sender).Text;
}