Выделить весь текст в текстовом поле при переходе по форме или щелкнув текстовое поле - PullRequest
0 голосов
/ 02 мая 2019

У меня есть форма сценария powershell, и я пытаюсь выделить весь текст внутри inputbox1 и inputbox2, когда нажимаю клавишу tab для перемещения по форме или когда я нажимаю в текстовых полях. Это казалось достаточно простым, но мне пока не повезло.

Нужна ли определенная функция обработчика мыши для события щелчка?

$InputBox = New-Object System.Windows.Forms.TextBox 
$InputBox.Location = New-Object System.Drawing.Size(200,40) 
$InputBox.Size = New-Object System.Drawing.Size(150,40) 
$Form.Controls.Add($InputBox)


$InputBox2 = New-Object System.Windows.Forms.TextBox 
$InputBox2.Location = New-Object System.Drawing.Size(200,65) 
$InputBox2.Size = New-Object System.Drawing.Size(150,40)
$Form.Controls.Add($InputBox2) 

$InputBox3 = New-Object System.Windows.Forms.TextBox 
$InputBox3.Location = New-Object System.Drawing.Size(10,15) 
$InputBox3.Size = New-Object System.Drawing.Size(340,20) 
$InputBox3.text = $result
$Form.Controls.Add($InputBox3) 

$outputBox = New-Object System.Windows.Forms.TextBox 
$outputBox.Location = New-Object System.Drawing.Size(10,90) 
$outputBox.Size = New-Object System.Drawing.Size(490,400) 
$outputBox.MultiLine = $True 
$outputBox.ScrollBars = "Vertical" 
$Form.Controls.Add($outputBox) 

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Если я правильно понимаю вопрос, вы хотите выбрать содержимое текстового поля при переходе к ним, используя вкладку (Shift) или нажав на них.

Это можно сделать, добавив два блока сценария обработчика событий в каждое из текстовых полей:

Первый будет обрабатывать выделение текста при использовании клавиши TAB для ввода поля:

$InputBox.Add_Gotfocus( { $this.SelectAll(); $this.Focus() })

Второй делает то же самое при щелчке мышью в текстовом поле:

$InputBox.Add_Click( { $this.SelectAll(); $this.Focus() })

Сделайте это для всех текстовых полей, прежде чем добавлять их в форму.

P.S. Не забудьте избавиться от формы, когда закончите, используя $Form.Dispose()

0 голосов
/ 02 мая 2019

Обычно не для рекламы сторонних сайтов, которые не являются Microsoft, но отличным инструментом для начального изучения форм Windows с помощью Powershell является PoshGui и их редактор GUI. Для события по щелчку вы можете создать функцию для поля ввода, используя:

Copy_Text_All_Input_Boxes()
{
    $clipboard = ""
    $clipboard += $TextBoxExample.text
    #$clipboard += $AnotherTextBoxExample.text
    Set-Clipboard -Value $clipboard
}
#... Define text boxes
$TextBoxExample.Add_Click({Copy_Text_All_Input_Boxes()})

Через нажатие на вкладку я знаю, что вы также можете использовать событие Add_Keypress.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...