События .NET - что такое объект sender & EventArgs e?



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



сценарий:



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

2916   5  

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, так что вы можете узнать больше деталей о событии, например, где именно они нажали.

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

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

FYI,sender и e не являются специфичными для ASP.NET или на C#. Смотрите События (Руководство По Программированию На C#) и события в Visual Basic.

Comments

    Ничего не найдено.