Nicomendox Ответов: 1

Почему нельзя выделить весь текст в текстовом поле после фокусировки на текстовом поле ?


в форме есть текстовое поле и список. Когда я нажимаю клавишу вниз или вверх, я хочу выбрать элемент списка. Затем после того, как выбранный элемент попадает в текстовое поле, а затем после того, как я хочу выделить весь текст в текстовом поле. Но я не мог этого сделать.

Где я должен изменить код ?

Продвинутая Благодарность.

Что я уже пробовал:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       ListBox1.Items.Add("Times New Roman")
       ListBox1.Items.Add("Arial")
       ListBox1.Items.Add("Arial Narrow")
       ListBox1.Items.Add("Monotype corsiva")
       ListBox1.Items.Add("Verdana")
       ListBox1.Items.Add("Andelip")
       ListBox1.Items.Add("Obit BT")
       ListBox1.Items.Add("LCD")
       ListBox1.Items.Add("Western")
       ListBox1.Items.Add("Roman")

       ListBox1.SelectedIndex = 1
       TextBox1.Text = ListBox1.SelectedItem.ToString

   End Sub

   Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
       If e.KeyCode = Keys.Down Then
           If ListBox1.SelectedIndex <= ListBox1.Items.Count - 2 Then
               ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
               TextBox1.Text = ListBox1.SelectedItem.ToString

               ListBox1.Focus()
           End If
       End If

       If e.KeyCode = Keys.Up Then
           If ListBox1.SelectedIndex >= 1 Then
               ListBox1.SelectedIndex = ListBox1.SelectedIndex - 1
               TextBox1.Text = ListBox1.SelectedItem.ToString

               ListBox1.Focus()
           End If
       End If
   End Sub

   Private Sub ListBox1_GotFocus(sender As Object, e As EventArgs) Handles ListBox1.GotFocus
       TextBox1.SelectAll()
       TextBox1.Focus()
   End Sub

1 Ответов

Рейтинг:
2

OriginalGriff

Ваше текстовое поле не получает keydown, потому что ListBox является элементом управления вводом и может принимать ключи. Поэтому, когда вы нажимаете клавишу вниз, система проверяет, может ли она быть обработана с помощью списка, находит, что она может, и получает ее для обработки.

Добавьте свой код в обработчик ListBox.KeyDown, и он будет работать.


Nicomendox

Ты совершенно еще не понял, что я хочу сделать... Здесь я уже получаю 100% правильный ответ. надеюсь, не запрещено делиться ссылками.. может быть, тебе тоже нравится учиться. Да благословит вас Бог.

Почему нельзя выделить весь текст в текстовом поле после фокусировки на текстовом поле ?-VBForums[^]