Учебники

11) VB.Net TEXTBOX Control

Что такое TextBox Control?

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

В этом уроке вы узнаете

Свойства TextBox

Ниже приведены наиболее распространенные свойства элемента управления TextBox в Visual Basic:

  • TextAlign — для настройки выравнивания текста
  • Полосы прокрутки — для добавления полос прокрутки, как вертикальных, так и горизонтальных
  • Multiline — установить элемент управления TextBox для разрешения нескольких строк
  • MaxLength — для указания максимального количества символов, которое примет элемент управления TextBox
  • Index — для указания индекса контрольного массива
  • Включено — для включения управления текстовым полем
  • Только чтение — если установлено значение true, вы сможете использовать элемент управления TextBox, если установлено значение false, вы не сможете использовать элемент управления TextBox.
  • SelectionStart — для установки или получения начальной точки для элемента управления TextBox.
  • SelectionLength — для установки или получения количества символов, выбранных в элементе управления TextBox.
  • SelectedText — возвращает элемент управления TextBox, который выбран в данный момент.

События текстового поля

Цель событий — заставить элемент управления TextBox реагировать на действия пользователя, такие как щелчок, двойной щелчок или изменение выравнивания текста. Вот общие события для элемента управления TextBox:

  • AutoSizeChanged — Инициируется изменением свойства AutoSize.
  • ReadOnlyChanged — инициируется изменением значения свойства ReadOnly.
  • Щелчок — запускается нажатием на элемент управления TextBox.

Как создать TextBox

Шаг 1) Чтобы создать TextBox, перетащите элемент управления TextBox из панели инструментов в WindowForm:

Шаг 2)

  1. Щелкните элемент управления TextBox, который вы добавили в форму.
  2. Перейдите в раздел «Свойства», расположенный в левом нижнем углу экрана. Измените имя текстового поля с TextBox1 на HelloTextBox:

Шаг 3) Добавьте следующий код для добавления текста в элемент управления:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Add text to the control
         HelloTextBox.Text = "Hello. Welcome to Guru99!"
  End Sub

Шаг 4) Теперь вы можете запустить код, нажав кнопку Пуск, расположенную в верхней панели:

Шаг 5) Вы должны получить следующую форму:

Вот скриншот полного кода выше:

Объяснение кода:

  1. Создание открытого класса с именем Form1
  2. Создание подпроцедуры с именем Form1_Load. Он будет вызван при загрузке формы.
  3. Комментарий. Компилятор VB.net пропустит это.
  4. Конец подпроцедуры
  5. Конец класса.

Символ пароля

Иногда вы хотите, чтобы текстовое поле использовалось для ввода пароля. Это означает, что все, что вводится в это текстовое поле, остается конфиденциальным. Это возможно с VB.net. Это можно сделать с помощью свойства PasswordChar, которое позволяет нам использовать любой символ, который вы хотите. Давайте продемонстрируем это на примере:

Начните с создания нового проекта. Перетащите два элемента управления TextBox, две метки и одну кнопку в форму. Измените текст на двух ярлыках и кнопке следующим образом:

Нажмите на текстовое поле рядом с надписью «Имя пользователя» и перейдите в раздел «Свойства», расположенный в левом нижнем углу окна. Дайте ему имя UsernameField.

Сделайте то же самое для элемента управления TextBox рядом с меткой пароля, присвоив ему имя PasswordField.

Теперь вы должны сделать так, чтобы элемент управления TextBox PasswordField показывал * для каждого введенного в него символа. Добавьте следующий код:

Private Sub PasswordField_TextChanged(sender As Object, e As EventArgs) Handles PasswordField.TextChanged
       PasswordField.PasswordChar = "*"
End Sub

Теперь запустите код, нажав кнопку «Пуск». Форма появится.

Введите имя пользователя и пароль и посмотрите, что произойдет. Вы должны увидеть следующее:

Имя пользователя отображается, но пароль был скрыт. Вот код для выше:

Объяснение кода:

  1. Создание класса с именем Form1.
  2. Создание подпроцедуры с именем PasswordField_textchanged (). Он будет вызван при загрузке формы.
  3. Использование свойства PasswordChar для отображения *, когда пользователь вводит пароль.
  4. Завершение подпроцедуры.
  5. Окончание класса.

Новая строка в TextBox

По умолчанию вы можете создать только одну строку текста в текстовом поле. Есть два пути, которыми мы можем достичь этого. Давайте обсудим их.

Перетащите элемент управления TextBox на форму. Дайте элементу управления имя GuruWelcome.

Снова щелкните элемент управления текстовым полем и переместите курсор мыши в раздел «Свойства». Измените значение свойства Multiline на True.

В качестве альтернативы вы можете установить для свойства Multiline значение true в своем коде следующим образом:

GuruWelcome.Multiline = True

Добавьте следующий код:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        GuruWelcome.Multiline = True

        GuruWelcome.Text = "Line 1"

        GuruWelcome.Text = GuruWelcome.Text & ControlChars.NewLine & "Line 2"

    End Sub

После выполнения две строки текста будут разделены.

Объяснение кода:

  1. Создание класса с именем Form1
  2. Создание подпрограммы с именем Form1_Load ()
  3. Установка свойства Multiline в True. Текстовое поле сможет занимать более одной строки.
  4. Добавление первой строки текста в текстовое поле.
  5. Добавление второй строки текста в текстовое поле. Свойство Controlchars.NewLine помогает нам разделить две строки.
  6. Завершение подпрограммы.
  7. Окончание класса.

Получение целочисленных значений

VB.net рассматривает все как строку. Это означает, что вы читаете целое число из текстового поля в виде строки, а затем конвертируете его в целое число. Обычно это делается с помощью метода Integer.Parse () .

Чтобы продемонстрировать это, создайте новый элемент управления текстового поля плюс кнопку. Дайте текстовое поле имя возраста. Дайте кнопке имя Button1. У вас должен быть следующий интерфейс:

Добавьте следующий код:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim x As Integer
        x = Integer.Parse(age.Text)
        MessageBox.Show(x)

Запустите код и введите свой возраст в текстовое поле. Нажмите кнопку Показать возраст. Вы должны увидеть следующее:

Введенное вами значение возвращается в MessageBox.

Объяснение кода:

  1. Создание класса с именем Form1.
  2. Создание подпроцедуры с именем Button1_Click. Он будет вызван при нажатии кнопки.
  3. Определение целочисленной переменной с именем x.
  4. Преобразование значения, прочитанного из текстового поля с именем age, в целое число.
  5. Отображение значения, преобразованного в предыдущем шаге, в MessageBox.
  6. Завершение подпроцедуры.
  7. Окончание класса.

ReadOnly TextBox

Вы можете сделать текстовое поле только для чтения. Это означает, что пользователь не сможет изменить значение, отображаемое в текстовом поле. Для этого вы устанавливаете для свойства ReadOnly значение True. Чтобы продемонстрировать это, создайте новое текстовое поле и дайте ему имя guru99. Добавьте следующий код:

Private Sub guru99_TextChanged(sender As Object, e As EventArgs) Handles guru99.TextChanged

        guru99.Text = "welcome to Guru99"

        guru99.ReadOnly = True

    End Sub

Код должен возвращать следующее:

Вот код:

Объяснение кода:

  1. Создание класса с именем Form1.
  2. Создание подпрограммы с именем guru99_TextChanged.
  3. Добавление текста в текстовое поле с именем guru99.
  4. Для свойства ReadOnly текстового поля установлено значение True. Это делает текст в текстовом поле неизменяемым.
  5. Завершение подпроцедуры.
  6. Окончание класса.

максимальная длина

Свойство MaxLength может помочь вам установить максимальное количество слов или символов, допустимое в текстовом поле. Чтобы продемонстрировать это, создайте элемент управления TextBox и присвойте ему имя fullName. Добавьте следующий код:

Private Sub fullName_TextChanged(sender As Object, e As EventArgs) Handles fullName.TextChanged

        fullName.MaxLength = 8

    End Sub

Запустите код и попробуйте ввести свое полное имя. Вы не сможете набрать более 8 символов, включая пробелы:

Код:

Объяснение кода:

  1. Создание класса с именем Form1.
  2. Создание подпроцедуры с именем fullName_TextChanged.
  3. В текстовом поле fullName можно указать не более 8 символов.
  4. Завершение подпроцедуры.
  5. Окончание класса.

Резюме:

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