2016-02-11 5 views
0

Я смог заставить свою программу выбрать весь текст внутри текстового поля, когда пользователь нажмет на это поле.SelectAll() Не работает после добавления текстовых полей в групповой ящик

Private Sub txtPreserve_Click(sender As Object, e As EventArgs) 
    txtPreserve.SelectAll() 
End Sub 

Я обязан (домашние задания), чтобы поместить текстовые поля внутри GroupBox для того, чтобы использовать для каждого цикла на них. После помещения их в групповой пакет функция selectAll() больше не работает. Он работал чудесно.

Мне кажется, мне нужно указать текстовое поле по-другому, прежде чем выдавать функцию .selectAll(). Если кто-нибудь знает работу или альтернативный метод, я бы очень признателен.

Редактировать: чтобы быть ясным, программа все еще компилируется и работает нормально. Он просто не выбирает текст, чтобы облегчить пользователю замену текста.

+1

Как вы переместили их в GroupBox? Если вырезать-вставить, вы отделили событие, и в этом случае вам придется подписаться на него снова. – LarsTech

+0

Я вырезал и вставлял, быстрый поиск в Google привел меня к такому выводу. –

+0

В будущем попробуйте перетащить элементы управления в новый контейнер. Это сохранит обработчики событий. – LarsTech

ответ

0

Вам нужно обработать событие Click:

Private Sub txtPreserve_Click(sender As Object, e As EventArgs) Handles txtPreserve.Click 
    txtPreserve.SelectAll() 
End Sub 

Иногда при разрезании и склеивание управления вы можете потерять обработчик.

0

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

Private Sub MyMultipleEventHandler (ByVal sender as System.Object, ByVal e as System.EventArgs) Handles txtPreserve.Click, txt2.Click, txt3.Click 
    Dim tb as textbox = sender 
    sender.SelectAll() 
End Sub 

Это будет отображать все текстовое поле событий щелчка в тот же обработчик. отправитель представляет объект, который отправил событие, в данном случае, отдельное текстовое поле. Кастинг отправитель как текстовое поле позволяет вам вызывать SelectAll() в этом текстовом поле.

0

У меня был подобный вопрос в последнее время. Мое решение состояло в том, чтобы установить текстовое поле в качестве активного элемента управления перед вызовом текстового поля .SelectAll()

ActiveControl = textbox 
textbox.SelectAll() 

 Смежные вопросы

  • Нет связанных вопросов^_^