PowerShell Winforms контекстное меню

Из раздела Как добавить параметры в контекстное меню мыши в формах PowerShell выполните следующие действия.

$contextMenuStrip1.Items.Add("Item 1") | Out-Null
$contextMenuStrip1.Items.Add("Item 2") | Out-Null

И это работает... Я вижу контекстное меню... но как мне сделать что-то, когда пункт меню был выбран.

Например, если пользователь выбирает элемент 1, как я узнаю, что он был выбран.

2 ответа

Как подсказывает руководство DavidPostill... Там множество видео, статей и примеров кода, которые рассказывают о подобных вещах, шаг за шагом. Для вашего запроса, вот пример того, что говорит DavidPostill.

$textBox1.Add_Click(
    {    
        [System.Windows.Forms.MessageBox]::Show("Hello World." , "My Dialog Box")
    }
)

$form1.ShowDialog()

См. https://social.technet.microsoft.com/wiki/contents/articles/25911.how-to-add-a-powershell-gui-event-handler-part-1.aspx

Хорошо, я понял, как это сделать... Вместо того, чтобы просто добавлять контекстные меню. Я также добавил, как Дэвид указал на обработчик событий.

Я заменил:

  $contextMenuStrip1.Items.Add("Item 1") | Out-Null
  $contextMenuStrip1.Items.Add("Item 2") | Out-Null

С этим:

  $contextMenuStrip1.Items.Add("Item1", $ContextMenuStripItemImages).add_Click({ MyCode Here })
  $contextMenuStrip1.Items.Add("Item2", $ContextMenuStripItemImages).add_Click({ MyCode Here })

Отлично работает сейчас.

Другие вопросы по тегам