В PowerShell ГПИ (.Чистых форм), щелкните событие на кнопку

как можно захватывать события щелчка правой кнопкой мыши, которые происходят на кнопке? Я хотел бы выполнить какое-то действие, когда кнопка получает правый щелчок. Ниже приведен пример формы:

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = New-Object System.Windows.Forms.Form
$form.Size = New-Object System.Drawing.Size(400,400)
$form.StartPosition = "CenterScreen"

$button01 = New-Object System.Windows.Forms.Button
$button01.Location = New-Object System.Drawing.Size(100,100)
$button01.Size = New-Object System.Drawing.Size(100,100)
$button01.Text = "button01"
$button01.Add_Click({[System.Windows.MessageBox]::Show("Left click")})

$form.Controls.Add($button01)

$form.ShowDialog() | Out-Null

после прочтения некоторые документация, я добавил его ниже $button01.Add_Click строку:

$button01_MouseDown=[System.Windows.Forms.MouseEventHandler]{
    $_ = [System.Windows.Forms.MouseEventArgs]
    [System.Windows.MessageBox]::Show("$_.Button")
}

когда я Правой Кнопкой Мыши на кнопку, нет MessageBox появляется.

6
задан root
03.02.2023 11:49 Количество просмотров материала 3309
Распечатать страницу

1 ответ

вы можете сделать это так:

$button01.Add_MouseUP( {
        if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Right ) {
            [System.Windows.MessageBox]::Show("Rigth mouse up")}
        })

или, вы можете использовать

$button01.Add_MouseDown(....)

вы можете найти всех поддерживаемых событий кнопки Класс здесь: https://msdn.microsoft.com/en-us/library/system.windows.forms.button(v=vs. 110).aspx

и вы можете использовать его в таком стиле:

$button01.Add_AutoSizeChanged(....)
$button01.Add_BackColorChanged(....)
$button01.Add_BackgroundImageChanged(....)
........
3
отвечен Mihail Kuznesov 2023-02-04 19:37

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх