2015-08-06 2 views
1

Как я могу переписать следующий код так, что вместо того, чтобы переписать 15 раз, я могу использовать только один сабвуфер:Использование нескольких обработчиков событий в одно время

Private Sub txtQuestionValue01_Leave(sender As Object, e As EventArgs) Handles txtQuestionValue01.Leave 
    txtQuestionValue01.Text = txtQuestionValue01.Text.TrimStart("0"c) 
End Sub 

Цель состоит в том, так как каждый из текстового поля присваивается номер 1 по 20, я хочу, чтобы переписать его так, что он ищет txtQuestionValue02.Leave и далее в txtQuestionValue20.Leave

ответ

1

Вы можете комбинировать их так:

Private Sub TextBoxes_Leave(sender As Object, e As EventArgs) Handles txtQuestionValue01.Leave, txtQuestionValue02.Leave 
    DirectCast(sender, TextBox).Text = DirectCast(sender, TextBox).Text.TrimStart("0"c) 
End Sub 
+0

Может ли 'DirectCast' также использоваться для сравнений аналогичным образом? –

+0

Как именно вы имеете в виду? – Saragis

+0

Используя тот же sub, могу ли я сравнить значение 'DirectCast' с условным. Например, если я хочу проверить, пустое ли текстовое поле осталось? –

0

Вы можете использовать один и тот же обработчик событий для всех событий:

Handles txtQuestionValue01.Leave, txtQuestion02.Leave, txtQuestionValue03.Leave....