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

本文关键字:窗体 活动 状态 C#MDI 标签 | 更新日期: 2023-09-27 18:26:15

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

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

如有任何帮助,我们将不胜感激。

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

尝试订阅子窗体的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;
}