Переопределить обработчик события Button_click

Я разрабатываю приложение WinForms, используя шаблон MVP. Я хотел бы передать значение тега нажатия кнопки докладчику. Поскольку я хочу получить свойство button.Tag, мне нужно, чтобы аргумент отправителя имел тип Button. Как я могу сделать это, не делая этого:

private void button0_Click(object sender, EventArgs e)
{
    if (sender is Button)
    {
        presenter.CheckLeadingZero(sender as Button);
    }
}

Мне нужно понизить объект до кнопки в параметре метода.


person Nick    schedule 18.01.2009    source источник


Ответы (1)


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

Button button = sender as Button;
if (button != null)
{
  presenter.CheckLeadingZero(button);
}
person Jeff Yates    schedule 18.01.2009