События .NET - что такое объект sender & EventArgs e?
Что означают sender и eventArgs/refer to? Как я могу использовать их (для сценария ниже)?
сценарий:
Я пытаюсь создать пользовательский элемент управления с функцией удаления, и я хочу иметь возможность удалить элемент управления, который был нажат на странице, содержащей многие из тех же пользовательских элементов управления.
5 ответов:
отправитель-это элемент управления, для которого выполняется действие (скажем, OnClick, это кнопка).
EventArgs-это аргументы, которые могут оказаться полезными для реализации этого события. С OnClick он не содержит ничего хорошего, но в некоторых случаях, например, в GridView 'SelectedIndexChanged', он будет содержать новый индекс или некоторые другие полезные данные.
Крис говорит, что вы можете сделать это:
protected void someButton_Click (object sender, EventArgs ea) { Button someButton = sender as Button; if(someButton != null) { someButton.Text = "I was clicked!"; } }
senderотносится к объекту, который вызвал событие, которое запустило обработчик событий. Это полезно, если у вас есть много объектов, использующих один и тот же обработчик событий.
EventArgsявляется чем-то вроде фиктивного базового класса. Само по себе это более или менее бесполезно, но если вы из него вытекают, вы можете добавить любые данные, которые передаются в обработчики событий.когда вы реализуете свои собственные события, использовать
EventHandlerилиEventHandler<T>как их тип. Это гарантирует, что вы будете иметь именно эти два параметра для всех ваших событий (что хорошо).
вручную приведите отправителя к типу вашего пользовательского элемента управления, а затем используйте его для удаления или отключения и т. д. Например, что-то вроде этого:
private void myCustomControl_Click(object sender, EventArgs e) { ((MyCustomControl)sender).DoWhatever(); }"отправитель" - это просто объект, который был активирован (например, щелкнул).
args события подкласс для более сложных элементов управления, например treeview, так что вы можете узнать больше деталей о событии, например, где именно они нажали.
'sender' называется объектом, который имеет некоторое действие выполнить на некоторых контроль
'событие' имеет некоторую информацию о контроле, который имеет некоторые бихевиористы и личности выполняют каким-то пользователем.когда действие будет создать на происходящие события добавить это держать в пределах массива называется событием АГРС
FYI,
senderиeне являются специфичными для ASP.NET или на C#. Смотрите События (Руководство По Программированию На C#) и события в Visual Basic.
Comments