Hallöle ihr da!
In vielen Controls (Button, TExtBox, usw.) habe ich das Ereignis
Im ToolStripMenu ist dieses nicht vorhanden.
Deswegen dachte ich mir, dass ich eine globale Variable vom Typ Boolean definiere, welche bei einem
Leider klappt das nicht so, wie ich mir das dachte. Weder mit KeyCode, noch mit KeyData.
Habe ich bei einem ToolStrip gar keine Möglichkeit, auf die Modifier zuzugreifen und dadurch mit einem Menu-Eintrag zwei verschiedene Situationen zu schaffen? (einmal mit gedrückter, einmal ohne gedrückter [Strg]-Taste)
In vielen Controls (Button, TExtBox, usw.) habe ich das Ereignis
KeyDown
, KeyUp
und KeyPress
.Im ToolStripMenu ist dieses nicht vorhanden.
Deswegen dachte ich mir, dass ich eine globale Variable vom Typ Boolean definiere, welche bei einem
KeyDown
und KeyUp
Ereignis von (in diesem Falle) Form1 jewels zwischen True und False wechselt.Leider klappt das nicht so, wie ich mir das dachte. Weder mit KeyCode, noch mit KeyData.
Habe ich bei einem ToolStrip gar keine Möglichkeit, auf die Modifier zuzugreifen und dadurch mit einem Menu-Eintrag zwei verschiedene Situationen zu schaffen? (einmal mit gedrückter, einmal ohne gedrückter [Strg]-Taste)
VB.NET-Quellcode
- Public Class Form1
- Dim ctrl_pressed As Boolean
- Private Sub Test1ToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles Test1ToolStripMenuItem.Click
- If ctrl_pressed Then
- Label1.Text = "Test 1 +ctrl"
- Else
- Label1.Text = "Test 1 -ctrl"
- End If
- End Sub
- Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
- If e.KeyData = Keys.Control Then
- ctrl_pressed = True
- End If
- End Sub
- Private Sub Form1_KeyUp(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
- If e.KeyData = Keys.Control Then
- ctrl_pressed = False
- End If
- End Sub
- End Class