Как ограничить количество строк в TextBox и разбить строки на строки? - PullRequest
0 голосов
/ 21 сентября 2018

Как я могу добиться, чтобы ввод TextBox с несколькими строками был возможен только на определенное количество строк, например, только на 10 строк.Далее я хочу получить ввод каждой строки и записать каждую строку в отдельную переменную для последующей работы с этими переменными.Было бы неплохо, если бы пользователь получил сообщение с предупреждением, что возможно только 10 строк.Любая помощь будет оценена

[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null

#Assembly PresentationFramework wird geladen
Add-Type -AssemblyName PresentationFramework
$form = New-Object System.Windows.Forms.Form
$form.StartPosition = 'CenterScreen' #Formstartposition Zentrum
$form.Size = New-Object System.Drawing.Size(500,400)
$textBox = New-Object System.Windows.Forms.TextBox
$textBox.DataBindings.DefaultDataSourceUpdateMode = 0
$textBox.Location = New-Object System.Drawing.Point((110),(90))
$textBox.Size = New-Object System.Drawing.Size(288,150)
$textBox.TabIndex = 0
$textBox.Multiline =$true

$form.Controls.Add($textBox)
$form.ShowDialog() | Out-Null

1 Ответ

0 голосов
/ 21 сентября 2018

1.Считать количество строк для события TextChanged .

2. Превратить iList в ArrayList .

3. Получите разницу от максимальной строки к текущему количеству строк.

4.Удалите диапазон из ArrayList .

5. Установите содержимоеТекстовое поле для Arraylist

6. Установите курсор в конец текстового поля.

$TextboxMaxLines = 10
$textBox.Add_TextChanged({
    If($textBox.Lines.Count -gt $TextboxMaxLines){
        [System.Collections.ArrayList]$AL = $textBox.Lines
        [int]$LC = ($textBox.Lines.Count - $TextboxMaxLines)
        $Al.RemoveRange($TextboxMaxLines, $LC)
        $textbox.Lines = $AL
        $textbox.SelectionStart = ($textbox.Text.Length)
        $textbox.SelectionLength = 0
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...