Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Хуман, вот Вам примерная болванка:
Скрытый текст
Код: Выделить весь код
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()

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

Отправлено: 23:34, 14-04-2021 | #4