.NET Events - Что такое отправитель объекта и EventArgs?

Что означает /referender для отправителя и eventArg? Как я могу использовать их (для сценария ниже)?

Сценарий:

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

Ответ 1

Отправитель - это элемент управления, для которого выполняется действие (например, 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!";
    }
}

Ответ 2

sender относится к объекту, который вызвал событие, которое уволило обработчик события. Это полезно, если у вас много объектов, использующих один и тот же обработчик событий.

EventArgs является чем-то вроде фиктивного базового класса. Само по себе это более или менее бесполезно, но если вы проистекаете из него, вы можете добавить все данные, необходимые для передачи обработчикам событий.

При реализации собственных событий используйте EventHandler или EventHandler<T> в качестве своего типа. Это гарантирует, что у вас будут именно эти два параметра для всех ваших событий (что хорошо).

Ответ 3

Вручную отправьте отправителю тип настраиваемого элемента управления, а затем используйте его для удаления или отключения и т.д. Например, что-то вроде этого:

private void myCustomControl_Click(object sender, EventArgs e)
{
  ((MyCustomControl)sender).DoWhatever();
}

"отправитель" - это только объект, который был вызван (например, нажал).

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

Ответ 4

  • 'sender' называется объектом, действие которого выполняется на некоторых управления

  • "событие", имеющее некоторую информацию об управлении, которая   некоторые поведенческие и идентичные действия   некоторым пользователем. Если действие будет   генерировать, возникая для добавления события   он хранится внутри массива называется событием   АГРС