C# MDI: Как изменить метку родительского статуса на имя активной дочерней формы
Я работаю над приложением Windows Forms MDI, которое может создавать новые дочерние формы внутри себя. У родительской формы есть StatusLabel в Statusstrip. Я пытаюсь выяснить, как изменить текстовое значение StatusLabel родительской формы на имя активной дочерней формы. Я создал "активированное" событие в дочерней форме, но не знаю, как изменить родительскую форму statusLabel из блока кода "активированной" дочерней формы.
По сути, я хочу изменить метку в родительской форме на свойство имени дочерней формы.
Любая помощь будет принята с благодарностью.
1 ответ
Решение
Попробуйте подписаться на событие 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;
}