Я добавляю обработчик текстового поля, используя следующий код:Добавить/Удалить обработчик текстового поля
private void frmLogin_Load(object sender, EventArgs e)
{
foreach (Control tb in this.Controls)
{
if (tb is TextBox)
{
TextBox tb1 = (TextBox)tb;
tb1.KeyDown += new KeyEventHandler(TextBox_KeyDown);
}
}
}
Я также удаление обработчика, используя следующий код:
private void frmLogin_FormClosed(object sender, FormClosedEventArgs e)
{
foreach (Control tb in this.Controls)
{
if (tb is TextBox)
{
TextBox tb1 = (TextBox)tb;
tb1.KeyDown -= new KeyEventHandler(TextBox_KeyDown);
}
}
}
Является ли правильным способом или есть ли лучшая альтернатива?
И я знаю, что компилятор создает обработчик добавления с новым KeyEventHandler, но мой инструмент рефакторинга говорит мне, что это избыточное создание делегата. – Piyey