PowerShell - [решено] Последовательно перемещение между textbox по заполнению

Ответить
Аватара пользователя
Хуман

PowerShell - [решено] Последовательно перемещение между textbox по заполнению

Сообщение Хуман »

Добрый день, грубо говоря есть 4ре textbox на форме и кнопка которая реализует определенные действия с введенной информацией,

$tbk1 = New-Object System.Windows.Forms.TextBox

$tbk1.MaxLength = 2



$tbk2 = New-Object System.Windows.Forms.TextBox

$tbk2.MaxLength = 2



$tbk3 = New-Object System.Windows.Forms.TextBox

$tbk3.MaxLength = 7



$tbk4 = New-Object System.Windows.Forms.TextBox

$tbk4.MaxLength = 4



$zak = New-Object System.Windows.Forms.Button

$zak.add_Click({неважно какие действия})

как сделать последовательное перемещение от одного textbox к другому после ввода максимально разрешенного количества символов...

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

Re: PowerShell - [решено] Последовательно перемещение между textbox по заполнению

Сообщение Iska »

Хуман, вот Вам примерная болванка:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
[System.Windows.Forms.Application]::EnableVisualStyles()
$oForm                  = New-Object System.Windows.Forms.Form
$oForm.Text             = 'Sample form'
$oForm.Size             = New-Object System.Drawing.Size(200, 100)
$oForm.StartPosition    = 'CenterScreen'
$oTextBox1              = New-Object System.Windows.Forms.TextBox
$oTextBox1.Location     = New-Object System.Drawing.Point(10, 10)
$oTextBox1.Size         = New-Object System.Drawing.Size(80, 10)
$oTextBox1.MaxLength    = 10
$oTextBox1.Add_TextChanged({
  if ($this.MaxLength -eq $this.Text.Length -and $this.SelectionStart -eq $this.MaxLength -and $this.SelectionLength -eq 0) {
     $oTextBox2.Focus()
  }
})
$oForm.Controls.Add($oTextBox1)
$oTextBox2              = New-Object System.Windows.Forms.TextBox
$oTextBox2.Location     = New-Object System.Drawing.Point(100, 10)
$oTextBox2.Size         = New-Object System.Drawing.Size(80, 10)
$oTextBox2.MaxLength    = 10
$oTextBox2.Add_TextChanged({
  if ($this.MaxLength -eq $this.Text.Length -and $this.SelectionStart -eq $this.MaxLength -and $this.SelectionLength -eq 0) {
     $oTextBox1.Focus()
  }
})
$oForm.Controls.Add($oTextBox2)
$oForm.Add_Shown({$oTextBox1.Select()})
$oForm.ShowDialog()







Фокус перебросится на следующее поле ввода при изменении содержимого[/i] текущего поля ввода при одновременном выполнении следующих условий:достигнуто максимальное количество символов;курсор находится в конце текста;нет выделения.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»