Добавить / удалить обработчик в текстовое поле

Я добавляю обработчик в текстовое поле, используя следующий код:

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);
        }
    }
}

Правильный ли способ или есть лучшая альтернатива?

9
задан Jason Down 28 December 2011 в 16:05
поделиться