Как изменить метку строки состояния mdi с дочерней формы - PullRequest
4 голосов
/ 16 апреля 2011

Я искал решение уже пару дней, но не могу найти простой ответ.Я пробовал несколько примеров, найденных в Интернете (делегаты, свойства, даже взламывание ООП, делающих все публично), но ни один из них, похоже, не работает.Может кто-нибудь, пожалуйста, напишите самый простой код для решения следующей проблемы:

У меня есть родительская форма MDI и дочерняя форма.Родительская форма MDI имеет метку строки состояния.Дочерняя форма имеет кнопку.Все, что я хочу сделать, это обновить метку MDI при нажатии кнопки дочерней формы.

Спасибо !!!

Ответы [ 2 ]

7 голосов
/ 16 апреля 2011

Это не лучшее решение. Тем не менее, это самый простой:

1 - Измените модификатор доступа метки строки состояния на public.

2 - Распакуйте родительскую форму в ее реальный тип, чтобы иметь доступ к метке:

((ActualMdiParentFormType) this.MdiParent).statusStripLabel.Text = "Value";
1 голос
/ 28 августа 2014

Существует еще одно решение: создать событие в дочернем окне и зарегистрировать родительское окно для этого события. В случае возникновения события родительское окно будет уведомлено, и в соответствующем обработчике родительского окна мы можем обновить OUR-элемент управления.

Это более подход "MVVM".

Проверьте эти ссылки для получения дополнительной информации:

Передать значение между формами, используя события

http://www.c -sharpcorner.com / uploadfile / yougerthen / MVVM-реализация-для-окна-формы /

MVVM: учебник от начала до конца?

Надеюсь, это поможет,

...