Модальная форма, меняющая цвет при нажатии на родителя

Я хотел бы изменить цвет textBox в модальной форме, когда я нажимаю на его родительскую форму/элемент управления. Я пробовал события на модальном дочернем элементе как «Активировано», «Ввод», но ничего не вызывается, когда я нажимаю «родитель», мигает только панель в трее для модальной формы.

Есть ли способ получить информацию о том, что пользователь нажал на родителя, а затем изменить цвет текстового поля в модальной форме?

Я использую С# и winforms, большое спасибо!


person Martin Ch    schedule 29.02.2012    source источник
comment
Когда вы используете метод .ShowDialog(), вы больше не можете щелкнуть родительское окно, пока не закроете модальное диалоговое окно. это означает, что родительское окно никогда не получает никакого события Click   -  person Jalal    schedule 01.03.2012
comment
На самом деле, вы можете нажать на родителя, но это бессмысленно :) Мне не нужно какое-либо родительское взаимодействие - я надеялся, что какое-либо событие в дочерней форме вызывается, когда вы нажимаете на родителя - что-то вроде фокуса или чего-то еще   -  person Martin Ch    schedule 01.03.2012


Ответы (2)


По замыслу модальный диалог не позволит вам взаимодействовать с родителем.

person roken    schedule 29.02.2012

Когда у вас отображается модальная форма, вы не можете сфокусировать любую другую форму или элементы управления на этих формах в том же процессе. Именно для этого предназначены модальные формы, чтобы пользователи сосредоточились на новой форме и продолжали использовать другую форму, когда он (она) отклоняет модальную форму.

Я могу предложить альтернативный подход:

  • показать дочернюю форму без режима
  • установить свойство Owner дочерней формы в вызывающую форму
  • отключить элементы управления в форме вызова, которые вы хотите отключить, пока отображается другая форма
  • после закрытия дочерней формы снова включите отключенные элементы управления
person Nikola Radosavljević    schedule 29.02.2012
comment
Проблема в том, что у меня есть модальный режим с formBorderStyle, для которого установлено значение none - поэтому он не так виден, и когда пользователь нажимает на родительскую форму - он не работает - потому что он не закрыл модальный дочерний элемент - мне нужно, чтобы он знал, что модальный сталь открыт - person Martin Ch; 01.03.2012