Цитата:
Сообщение от _TrachinuS_
Я с Вами согласен что sender этот тот контрол который rise this event. But the type of sender is object! Из-за этого для того что бы проверить необходимо сделать :
|
object можно сравнивать с любым другим типом без каких-либо проблем.
Цитата:
Сообщение от vityanya
Если не секрет, то почему не рекомендуется?
Я это к тому, что у многих элементов управления есть свойства CommandName и CommandArgument, которые лучше всего использовать с 1 обработчиком события. Естественно речь не идет об обработчиках, которые выполняют разные действия.
|
Потому что кнопки обычно выполняют разные действия. Т.е. если у меня на форме есть две кнопки "Прочитать" и "Удалить", то логичнее сделать для каждой из них по своему обработчику, чтобы в каждом из них (вроде buttonRead_Click и buttonDelete_Click) описать соответствующую логику. Вообще, методы желательно делать маленькими, и даже если делать что-то вроде if(oneCase) {...} else {...}, то часто хорошо бывает вынести, что находится внутри {...} в отдельные методы с ясными названиями.
CommandName и CommandArgument очень-очень удобны в элементах управления типа Repeater, DataGrid, GridView, etc. Т.е. в элементах с повторением некоторого шаблона. Если у нас внутри такого шаблона есть кнопка, то удобно сделать так: ей поставить CommandName и CommandArgument в нужные значения, а у самого элемента управления обрабатывать событие ItemCommand, в обработчике уже переключаясь по названию команды.