Как управлять событием щелчка в массиве текстовых полей?

#vb.net #visual-studio-2010

#vb.net #visual-studio-2010

Вопрос:

Я использую VB 2010. В моей форме есть 20 TextBox элементов управления. Я превратил их в TextBox массив.

Вот код:

 Dim TbArray(19) As TextBox
Private Sub Form7_Load(ByVal sender As System.Object, 
      ByVal e As System.EventArgs) Handles MyBase.Load

    TbArray(0) = TextBox1
    TbArray(1) = TextBox2
    ...
    TbArray(19) = TextBox20
  

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

Как я могу узнать, какой TextBox элемент управления был выбран? Я имею в виду, что в выпадающем меню vb designer нет Private Sub TbArray(i)_GotFocus .

Ответ №1:

Чтобы разъяснить, что сказал Акрам,

 For x = 0 to 19
   AddHandler tbarray(x).GotFocus, AddressOf TextBox_GotFocus
Next x

Private Sub TextBox_GotFocus(sender As Object, e As System.EventArgs)
    Dim tb As TextBox = CType(sender, TextBox)
    tb.SelectAll()
End Sub
  

Ответ №2:

Обработайте текстовое поле.Событие фокусировки всех TextBox элементов управления с использованием одного метода обработки событий. Используйте следующее:

 Dim focusedTextBox as TextBox = CType(sender, TextBox)
  

Комментарии:

1. должен ли я писать это для всей части текстового поля gotfocus? у меня есть 20 текстовых полей.

Ответ №3:

Итак, вы хотите, чтобы текст внутри текстового поля выделялся, когда он попадает в фокус? Для меня звучит как задание для JavaScript. Должно быть довольно просто с использованием jQuery или чего-то подобного

Комментарии:

1. Да, я хочу выделить. Но я не использую java