Когда происходит событие Control.ParentChanged? - PullRequest
1 голос
/ 02 декабря 2010

Я читал о событии Control.ParentChanged на MSDN http://msdn.microsoft.com/en-us/library/system.windows.forms.control.parentchanged(VS.71).aspx

Но я не понимаю пример кода: в исходном коде вообще отсутствует ParentChanged?Поэтому я не понимаю, что такое событие Control.ParentChanged.

Ответы [ 2 ]

4 голосов
/ 02 декабря 2010

Хе-хе, они просто не смогли придумать хороший пример. И наказан тем, что вместо этого показал общий обработчик событий FooChanged. Да, бесполезно.

Довольно необычно реализовать обработчик события ParentChanged самостоятельно. Это большое дело для внутренних объектов Winforms, такие свойства, как BackColor, ForeColor, Font являются «окружающими» свойствами. Если они не переопределены по умолчанию, тогда они получат значение Parent. Что, конечно, означает, что действительно важно заметить, что родитель изменился. Код winforms уже позаботится об этом, вам очень редко приходится об этом беспокоиться. Если, конечно, вы не создадите свое собственное окружающее свойство.

0 голосов
/ 02 декабря 2010

В другом месте был бы другой фрагмент кода, который регистрирует это как обработчик события:

currencyTextBox.ParentChanged += new EventHandler(currencyTextBox_TextChanged);

Однако я согласен - имя метода вводит в заблуждение.

Этот обработчик события будет запускатьсяпри изменении родительского элемента управления этого элемента управления на другой родительский элемент управления.

Возможно, вы захотите прочитать о событиях возбуждения и потребления .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...