2017-12-04 12 views
1

Ich habe eine grundlegende Powershell Form mit einer textbox. Wenn ich einen Rechtsklick auf das textbox, erscheint ein Standardmenü mit Kopieren, Ausschneiden, Einfügen etc ...Wie man Optionen zu Maus-Rechtsklick-Menü in Powershell-Formularen hinzufügt

Mein Ziel ist es, eine „klare log“ Option hinzufügen, der die aktuellen textbox Inhalt löscht. Wie kann ich diese Option hinzufügen, um mit der rechten Maustaste auf das Menü zu klicken, statt eine separate button zu zeichnen?

Option wird für diese Form nur dann aktiviert werden, ich suche keine allgemeine Maus-Rechtsklick-Lösung aus der Registry

+0

um einen Context für eine TextBox zeigen, sollten Sie zunächst ShortcutsEnabled Eigenschaft des TextBox auf false, dann weisen Sie einen Context gesetzt zu seinem ContextMenuStrip. –

Antwort

1

Um in der Lage sein, ein ContextMenuStrip für ein TextBox zu zeigen, sollten Sie zunächst ShortcutsEnabled Eigenschaft der TextBox gesetzt zu false, weisen dann eine ContextMenuStrip seiner ContextMenuStrip Eigenschaft wie folgt:

$form1= New-Object System.Windows.Forms.Form 
$textBox1 = New-Object System.Windows.Forms.TextBox 
$contextMenuStrip1 = New-Object System.Windows.Forms.ContextMenuStrip 

$contextMenuStrip1.Items.Add("Item 1") 
$contextMenuStrip1.Items.Add("Item 2") 

$textBox1.ShortcutsEnabled = $false 
$textBox1.ContextMenuStrip = $contextMenuStrip1 

$form1.Text="Context Menu for TextBox" 
$form1.Controls.Add($textBox1) 

$form1.ShowDialog() 
+0

Danke, funktioniert wie erwartet. Jetzt mache ich gerade eine Event-Funktion für Item1/2, als Klicks, oder? – igor

+0

Gern geschehen :) –

+0

Btw, fällige Zeile '$ contextMenuStrip1.Items.Add' beim Ausführen des Skripts, in CMD kann ich alle Elementparameter sehen. Weißt du wie man es "stillt"? – igor

Verwandte Themen