# TextBox

## Шаблон TextBox <a href="#template" id="template"></a>

Перечень всех возможных тэгов объекта:

```xml
<MyObject Name="" Type="TextBox" Assembly="BaseControls" ChangeForm="">
  <!--Тэги, общие для всех графических объектов-->
  <Top></Top>
  <Bottom></Bottom>
  <Left></Left>
  <Right></Right>
  <Height></Height>
  <Width></Width>
  <FontStyle></FontStyle>
  <ForeColor></ForeColor>
  <BackColor></BackColor>
  <Enabled></Enabled>
  <Visible></Visible>
  <Opacity></Opacity>
  <Hint></Hint>
  <ContextMenu Name="" />
  <Change User="" Source="" ValueSet="" />
  <!--Тэги, специфичные для TextBox-->
  <MaxLength></MaxLength>
  <ReadOnly></ReadOnly>
  <Multiline></Multiline>
  <Password></Password>
  <AllowedSymbols></AllowedSymbols>
  <InputLanguage></InputLanguage>
  <InputCase></InputCase>
  <Mask></Mask>
  <TipText></TipText>
  <TipTextColor></TipTextColor>
  <TextAlign></TextAlign>
  <Text></Text> 
  <Keyboard></Keyboard> 
  <ReturnType></ReturnType> 
  <ReturnCommands></ReturnCommands> 
</MyObject>
```

## Описание TextBox <a href="#description" id="description"></a>

```xml
<MyObject Name="TextBoxName" Type="TextBox" Assembly="BaseControls">
  <!--Тэги, общие для всех графических объектов-->
  <!--Тэги, специфичные для TextBox-->
</MyObject>
```

Значением TextBox считается текст, указанный в поле.

### Получение значения <a href="#get-value" id="get-value"></a>

Для получения указанного в поле текста используется get-проперти [Text](#get_text):

```xml
<Object Name="TextBoxName">
  <Property Name="Text" />
</Object>
```

Рекомендуется использовать сокращенный вариант записи:

```xml
<Object Name="TextBoxName" />
```

### Задание значения <a href="#set-value" id="set-value"></a>

Для задания значения текстовому полю используется set-проперти [Text](#set_text):

```xml
<Object Name="TextBoxName">
  <Property Name="Text">Текст</Property>
</Object>
```

Рекомендуется использовать сокращенный вариант записи:

```xml
<Object Name="TextBoxName">Текст</Object>
```

## Тэги, специфичные для TextBox <a href="#specific-tags" id="specific-tags"></a>

### MaxLength <a href="#max_length" id="max_length"></a>

Задает максимальное число символов, которое разрешается вводить или вставлять в текстовое поле.

Необязательный тэг. Ожидается положительное целочисленное значение.

По умолчанию используется значение 0, показывающее, что ограничения нет.

```xml
<MaxLength>0</MaxLength>
```

### ReadOnly <a href="#read_only" id="read_only"></a>

Указывает, доступно ли текстовое поле только для чтения или для чтения и редактирования.

Необязательный тэг. Ожидается логическое значение.

По умолчанию используется значение False.

```xml
<ReadOnly>False</ReadOnly>
```

### Multiline

Задает значение, показывающее, является ли данный элемент управления многострочным текстовым полем.\
Игнорируется при наличии тэга [`<Mask>`](#mask).

Необязательный тэг. Ожидается логическое значение.

По умолчанию используется значение False.

```xml
<Multiline>False</Multiline>
```

### Password

Признак, разрешающий ввод пароля.\
Пользователь увидит только символы звездочек ( \* ). Игнорируется при наличии тэга [`<Mask>`](#mask).

Необязательный тэг. Ожидается логическое значение.

По умолчанию используется значение False.

```xml
<Password>False</Password>
```

### AllowedSymbols <a href="#allowed_symbols" id="allowed_symbols"></a>

Задает набор символов, которые разрешено вводить в поле.\
Пустая строка соответствует запрету вводить вообще какие-либо символы.

Необязательный тэг. Любое значение будет переведено в текстовое.

Если тэг отсутствует, то можно вводить любые символы.

```xml
<AllowedSymbols>0123456789</AllowedSymbols>
```

### InputLanguage <a href="#input_language" id="input_language"></a>

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

Необязательный тэг. Ожидается одно из допустимых значений:

<table data-header-hidden><thead><tr><th width="234.41687935952444" align="center"></th><th width="415.40287769784175"></th></tr></thead><tbody><tr><td align="center">Rus</td><td>Русский язык</td></tr><tr><td align="center">Eng</td><td>Английский язык</td></tr><tr><td align="center">None</td><td>Без ограничений по языку</td></tr></tbody></table>

По умолчанию используется значение None.

```xml
<InputLanguage>None</InputLanguage>
```

Например, при значении Rus вводимая последовательность символов "qwerty" будет преобразована в "йцукен".

### InputCase <a href="#input_case" id="input_case"></a>

Задает ограничение на регистр вводимых символов.\
Если регистр вводимого символа не совпадает с регистром, указанном в данном тэге, то этот символ будет трансформирован в указанный регистр.

Необязательный тэг. Ожидается одно из допустимых значений:

<table data-header-hidden><thead><tr><th width="238.67352271687434" align="center"></th><th width="430.0593141797961"></th></tr></thead><tbody><tr><td align="center">Upper</td><td>Верхний регистр</td></tr><tr><td align="center">Lower</td><td>Нижний регистр</td></tr><tr><td align="center">None</td><td>Без ограничений по регистру</td></tr></tbody></table>

По умолчанию используется значение None.

```xml
<InputCase>None</InputCase>
```

### Mask

Маска ввода текстового поля.

Пустая строка соответствует отсутствию маски.

Необязательный тэг. Любое значение будет переведено в текстовое.

```xml
<Mask>AA-00</Mask>
```

Поддерживаемые элементы в выражении для задания маски ввода: `0`,`9`,`#`,`L`,`?`,`&`,`C`,`A`,`a`,`\`. Их описание смотрите по [ссылке](https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.maskedtextbox.mask?redirectedfrom=MSDN\&view=windowsdesktop-6.0#remarks).

Для задания маски номера телефона используется служебное слово `PHONE`, которое переключает текстовое поле в режим ввода номера телефона. При этом маска выбирается автоматически на основе зоны и кода страны. Подробнее по ссылкам [здесь](https://ru.wikipedia.org/wiki/Телефонные_коды_стран) и [здесь](https://ru.wikipedia.org/wiki/Телефонные_планы_нумерации_в_разных_странах).

```xml
<Mask>PHONE</Mask>
```

### TipText <a href="#tip_text" id="tip_text"></a>

Задает текст-заполнитель, который будет отображаться в поле, если оно не имеет фокуса и его значение NULL.

Необязательный тэг. Любое значение будет переведено в текстовое.

```xml
<TipText>Текст подсказки</TipText>
```

### TipTextColor <a href="#tip_text_color" id="tip_text_color"></a>

Цвет текста, который будет расположен в поле, если оно не имеет фокуса и его значение NULL.

Необязательный тэг. Ожидается имя одного из цветов, описанных в форме или описание цвета в формате HTML (#rrggbb).&#x20;

Если тэг `<TipTextColor>` отсутствует, то используется цвет по умолчанию заданный в настройках стиля приложения.

```xml
<TipTextColor>TipTextColor</TipTextColor>
```

### TextAlign <a href="#text_align" id="text_align"></a>

Используется, чтобы указать способ выравнивания текста по горизонтали.\
Игнорируется при наличии тэга [`<Mask>`](#mask).

Необязательный тэг.  Ожидается одно из допустимых значений:

<table data-header-hidden><thead><tr><th width="198.926508301592" align="center"></th><th width="355.0302460949434"></th></tr></thead><tbody><tr><td align="center">Left</td><td>Слева</td></tr><tr><td align="center">Center</td><td>По центру</td></tr><tr><td align="center">Right</td><td>Справа</td></tr></tbody></table>

По умолчанию используется значение Left.

```xml
<TextAlign>Left</TextAlign>
```

### Text

Задает значение текстового поля.

Необязательный тэг. Любое значение будет переведено в текстовое.

По умолчанию используется пустая строка.

```xml
<Text>Текст</Text>
```

### Keyboard

Вид клавиатуры при вводе.

Необязательный тэг. Ожидается одно из допустимых значений:

<table data-header-hidden><thead><tr><th width="198.926508301592" align="center"></th><th width="355.0302460949434"></th></tr></thead><tbody><tr><td align="center">Plain</td><td>Клавиатура без флагов, которые определяют регистр букв, проверку орфографии и предложения при вводе</td></tr><tr><td align="center">Chat</td><td>Клавиатура для чата</td></tr><tr><td align="center">Email</td><td>Клавиатура для ввода Email</td></tr><tr><td align="center">Numeric</td><td>Клавиатура ввода числовых значений</td></tr><tr><td align="center">Telephone</td><td>Клавиатура ввода телефона</td></tr><tr><td align="center">Text</td><td>Клавиатура ввода текста</td></tr><tr><td align="center">Url</td><td>Клавиатура ввода ссылки</td></tr><tr><td align="center">Default</td><td>Клавиатура по умолчанию</td></tr></tbody></table>

По умолчанию используется значение Default.

```xml
<Keyboard>Phone</Keyboard>
```

### ReturnType <a href="#return_type" id="return_type"></a>

Вид кнопки завершения ввода у клавиатуры.

Необязательный тэг. Ожидается одно из допустимых значений:

<table data-header-hidden><thead><tr><th width="198.926508301592" align="center"></th><th width="355.0302460949434"></th></tr></thead><tbody><tr><td align="center">Done</td><td>Кнопка "Готово"</td></tr><tr><td align="center">Go</td><td>Кнопка "Вперед"</td></tr><tr><td align="center">Next</td><td>Кнопка "Далее"</td></tr><tr><td align="center">Search</td><td>Кнопка "Поиск"</td></tr><tr><td align="center">Send</td><td>Кнопка отправки</td></tr><tr><td align="center">Default</td><td>Кнопка по умолчанию</td></tr></tbody></table>

По умолчанию используется значение Default.

```xml
<ReturnType>Search</ReturnType>
```

### ReturnCommands <a href="#return_commands" id="return_commands"></a>

Список команд, которые будут выполнены последовательно после нажатия на кнопку завершения ввода клавиатуры.

Необязательный тэг.

```xml
<ReturnCommands>
  <Command Name="" />
</ReturnCommands>
```

## Get-проперти для получения свойств <a href="#get-properties" id="get-properties"></a>

### MaxLength <a href="#get_max_length" id="get_max_length"></a>

Возвращает максимальное число символов, которое разрешается вводить или вставлять в текстовое поле.

```xml
<Object Name="TextBoxName">
  <Property Name="MaxLength" />
</Object>
```

### ReadOnly <a href="#get_read_only" id="get_read_only"></a>

Возвращает значение, определяющее, доступно ли текстовое поле только для чтения или для чтения и редактирования.

```xml
<Object Name="TextBoxName">
  <Property Name="ReadOnly" />
</Object>
```

### Multiline <a href="#get_multiline" id="get_multiline"></a>

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

```xml
<Object Name="TextBoxName">
  <Property Name="Multiline" />
</Object>
```

### Password <a href="#get_password" id="get_password"></a>

Возвращает значение признака ввода пароля в поле.

```xml
<Object Name="TextBoxName">
  <Property Name="Password" />
</Object>
```

### AllowedSymbols <a href="#get_allowed_symbols" id="get_allowed_symbols"></a>

Возвращает набор символов, которые разрешено вводить в поле.

```xml
<Object Name="TextBoxName">
  <Property Name="AllowedSymbols" />
</Object>
```

### InputLanguage <a href="#get_input_language" id="get_input_language"></a>

Возвращает название языка, к которому будут преобразовываться вводимые символы.

```xml
<Object Name="TextBoxName">
  <Property Name="InputLanguage" />
</Object>
```

### InputCase <a href="#get_input_case" id="get_input_case"></a>

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

```xml
<Object Name="TextBoxName">
  <Property Name="InputCase" />
</Object>
```

### Mask <a href="#get_mask" id="get_mask"></a>

Возвращает маску ввода текстового поля.

```xml
<Object Name="TextBoxName">
  <Property Name="Mask" />
</Object>
```

### TipText <a href="#get_tip_text" id="get_tip_text"></a>

Возвращает текст-заполнитель, который будет отображаться в поле, если оно не имеет фокуса и его значение NULL.

```xml
<Object Name="TextBoxName">
  <Property Name="TipText" />
</Object>
```

### TipTextColor <a href="#get_tip_text_color" id="get_tip_text_color"></a>

Возвращает цвет текста, который может быть расположен в объекте, если он не будет иметь фокуса и его значение NULL.

```xml
<Object Name="TextBoxName">
  <Property Name="TipTextColor" />
</Object>
```

### TextAlign <a href="#get_text_align" id="get_text_align"></a>

Возвращает способ выравнивания текста по горизонтали.

```xml
<Object Name="TextBoxName">
  <Property Name="TextAlign" />
</Object>
```

### Text <a href="#get_text" id="get_text"></a>

Возвращает значение текстового поля.

```xml
<Object Name="TextBoxName">
  <Property Name="Text" />
</Object>
```

### WordByNumber <a href="#get_word_by_number" id="get_word_by_number"></a>

Возвращает целое слово с указанным порядковым номером, извлеченное из значения поля.\
Символами-разделителями между словами считаются " ", ",", ".", ";".

Ожидается целочисленное положительное значение.

```xml
<Object Name="TextBoxName">
  <Property Name="WordByNumber">1</Property>
</Object>
```

Например, для строки "слово1 слово2" свойство со значением 2 вернет "слово2".

### Length <a href="#get_length" id="get_length"></a>

Возвращает длину текста, введенного в поле.

```xml
<Object Name="TextBoxName">
  <Property Name="Length" />
</Object>
```

### Keyboard <a href="#get_keyboard" id="get_keyboard"></a>

Возвращает название типа клавиатуры.

```xml
<Object Name="TextBoxName">
  <Property Name="Keyboard" />
</Object>
```

### ReturnType <a href="#get_return_type" id="get_return_type"></a>

Возвращает название типа кнопки возврата клавиатуры.

```xml
<Object Name="TextBoxName">
  <Property Name="ReturnType" />
</Object>
```

## Set-проперти для динамического задания свойств <a href="#set-properties" id="set-properties"></a>

### MaxLength <a href="#set_max_length" id="set_max_length"></a>

Задает максимальное число символов, которое разрешается вводить или вставлять в текстовое поле.

Ожидается положительное целочисленное значение.

```xml
<Object Name="TextBoxName">
  <Property Name="MaxLength">200</Property>
</Object>
```

### ReadOnly <a href="#set_read_only" id="set_read_only"></a>

Задает значение, определяющее, доступно ли поле только для чтения или для чтения и редактирования.

Ожидается логическое значение.

```xml
<Object Name="TextBoxName">
  <Property Name="ReadOnly">True</Property>
</Object>
```

### Multiline <a href="#set_multiline" id="set_multiline"></a>

Задает значение, показывающее, является ли данный элемент управления многострочным текстовым полем.\
Если тэг [`<Mask>`](#mask) присутствует в описании объекта, то любое переданное значение игнорируется.

Ожидается логическое значение.

```xml
<Object Name="TextBoxName">
  <Property Name="Multiline">True</Property>
</Object>
```

### Password <a href="#set_password" id="set_password"></a>

Задает значение признака ввода пароля в поле.\
Если тэг [`<Mask>`](#mask) присутствует в описании объекта, то любое переданное значение игнорируется.

Ожидается логическое значение.

```xml
<Object Name="TextBoxName">
  <Property Name="Password">True</Property>
</Object>
```

### AllowedSymbols <a href="#set_allowed_symbols" id="set_allowed_symbols"></a>

Задает набор символов, которые разрешено вводить в поле.

Любое значение будет переведено в текстовое.

```xml
<Object Name="TextBoxName">
  <Property Name="AllowedSymbols">0123,.</Property>
</Object>
```

### InputLanguage <a href="#set_input_language" id="set_input_language"></a>

Задает правила трансформации языка вводимых символов.

Ожидается одно из допустимых значений, указанных в описании тэга [`<InputLanguage>`](#input_language).

```xml
<Object Name="TextBoxName">
  <Property Name="InputLanguage">Rus</Property>
</Object>
```

### InputCase <a href="#set_input_case" id="set_input_case"></a>

Задает название языка, к которому будут преобразовываться вводимые символы.

Ожидается одно из допустимых значений, указанных в описании тэга [`<InputCase>`](#input_case).

```xml
<Object Name="TextBoxName">
  <Property Name="InputCase">Lower</Property>
</Object>
```

### Mask <a href="#set_mask" id="set_mask"></a>

Задает маску ввода текстового поля.

Любое значение будет переведено в текстовое. Полные правила указания маски ввода указаны в описании тэга [`<Mask>`](#mask).

```xml
<Object Name="TextBoxName">
  <Property Name="Mask">###.##</Property>
</Object>
```

### TipText <a href="#set_tip_text" id="set_tip_text"></a>

Задает текст-заполнитель, который будет отображаться в поле, если оно не имеет фокуса и его значение NULL.

Любое значение будет переведено в текстовое.

```xml
<Object Name="TextBoxName">
  <Property Name="TipText">Текст</Property>
</Object>
```

### TipTextColor <a href="#set_tip_text_color" id="set_tip_text_color"></a>

Задает цвет текста, который может быть расположен в объекте, если он не будет иметь фокуса и его значение NULL.

Ожидается название одного из цветов, объявленных на форме.

```xml
<Object Name="TextBoxName">
  <Property Name="TipTextColor">TipTextColor</Property>
</Object>
```

### TextAlign <a href="#set_text_align" id="set_text_align"></a>

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

Ожидается одно из допустимых значений, указанных в описании тэга [`<TextAlign>`](#text_align).

```xml
<Object Name="LabelName">
  <Property Name="TextAlign">Right</Property>
</Object>
```

### Text <a href="#set_text" id="set_text"></a>

Задает значение текстового поля.

Любое значение будет переведено в текстовое.

```xml
<Object Name="TextBoxName">
  <Property Name="Text">Текст</Property>
</Object>
```

### AppendText <a href="#set_append_text" id="set_append_text"></a>

Дописывает поле заданным текстом и переводит курсор в конец поля.

Любое значение будет переведено в текстовое.

```xml
<Object Name="TextBoxName">
  <Property Name="AppendText">Текст</Property>
</Object>
```

### Keyboard <a href="#set_keyboard" id="set_keyboard"></a>

Задает тип клавиатуры.

Ожидается одно из названий типов клавиатуры, описанных в тэге [`<Keyboard>`](#keyboard).

```xml
<Object Name="TextBoxName">
  <Property Name="Keyboard">Phone</Property>
</Object>
```

### ReturnType <a href="#set_return_type" id="set_return_type"></a>

Задает тип кнопки возврата клавиатуры.

Ожидается одно из названий типов кнопки возврата клавиатуры, описанных в теге [`<ReturnType>`](#returntype).

```xml
<Object Name="TextBoxName">
  <Property Name="ReturnType">Search</Property>
</Object>
```

### InsertAtCursorPosition <a href="#set_insert_at_cursor_position" id="set_insert_at_cursor_position"></a>

Вставляет заданный текст на место курсора и после переводит курсор в конец добавленного текста.\
Если поле не содержит фокуса, то тогда вставляемый текст добавляется в конец строки, и поле получает фокус.

Любое значение будет переведено в текстовое.

```xml
<Object Name="TextBoxName">
  <Property Name="InsertAtCursorPosition">Текст</Property>
</Object>
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wfsys.gitbook.io/workflow-mobile-forms-syntax/workflow_mobile_forms/objects/textbox.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
