Hi,
ich habe mir eine Art zusätzliche Task Bar geschrieben. Diese Task Bar enthält eine LIste von Icons, nennen wir sie
Ich möchte nun folgendes erreichen:
Mouse Linksclick:
1. Wenn ein Icon mit der linken Maustaste angeklickt wird, dann soll das zugehörige Programm gestartet werden. und die Taskleiste wird beendet.
2. Wenn der Linksclick aber kein Icon trifft, dann soll einfach nichts passieren.
Mouse Rechtsclick:
3. Wenn ein Icon mit der rechten Maustaste angeklickt wird, dann soll der Name des Icons angezeigt werden.
4. Wenn der Rechtsclick kein Icon trifft, dann soll die Taskleiste beendet werden.
Das habe ich wie folgt versucht:
Punkt 1 und 2 funktionieren damit.
Aber die Sache mit der rechten Maustaste klappt nicht. Der Click der rechten Maustaste selektiert keine Auswahl ... mit anderen Worten ein Klick mit der rechten Maustaste wird immer die Anwendung beenden, egal wohin der Rechtsklick zeigt.
Was mache ich denn falsch ? Wie kann ich erreichen dass der Rechtsklick das Icon auswählt, bzw. wie kann ich abfragen wohin der Rechtsklick gezeigt hat?
Ich hoffe, ich habe mein Anliegen verständlich machen können.
LG
Peter
ich habe mir eine Art zusätzliche Task Bar geschrieben. Diese Task Bar enthält eine LIste von Icons, nennen wir sie
lvTaskbar
Ich möchte nun folgendes erreichen:
Mouse Linksclick:
1. Wenn ein Icon mit der linken Maustaste angeklickt wird, dann soll das zugehörige Programm gestartet werden. und die Taskleiste wird beendet.
2. Wenn der Linksclick aber kein Icon trifft, dann soll einfach nichts passieren.
Mouse Rechtsclick:
3. Wenn ein Icon mit der rechten Maustaste angeklickt wird, dann soll der Name des Icons angezeigt werden.
4. Wenn der Rechtsclick kein Icon trifft, dann soll die Taskleiste beendet werden.
Das habe ich wie folgt versucht:
VB.NET-Quellcode
- Private Sub lvTaskBar_Click(sender As Object, e As System.EventArgs) Handles lvTaskBar.Click
- Dim i As Integer = lvTaskBar.SelectedIndices(0)
- Debug.Print("i=" & i.ToString)
- Dim myProgram As String = lvTaskBar.SelectedItems(0).SubItems(1).Text
- Try
- Process.Start(myProgram)
- Catch ex As Exception
- MessageBox.Show("Cannot start " & myProgram & newline2 & ex.Message)
- End Try
- Me.Close()
- End Sub
- Private Sub lvTaskBar_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles lvTaskBar.MouseDown
- If e.Button = MouseButtons.Right Then
- Dim j As Integer = lvTaskBar.SelectedIndices.Count
- Debug.Print("j=" & j.ToString)
- If j = 0 Then
- Me.Close()
- Else
- MessageBox.Show(Path.GetFileName(lvTaskBar.SelectedItems(0).SubItems(1).Text))
- End If
- End If
- End Sub
Punkt 1 und 2 funktionieren damit.
Aber die Sache mit der rechten Maustaste klappt nicht. Der Click der rechten Maustaste selektiert keine Auswahl ... mit anderen Worten ein Klick mit der rechten Maustaste wird immer die Anwendung beenden, egal wohin der Rechtsklick zeigt.
Was mache ich denn falsch ? Wie kann ich erreichen dass der Rechtsklick das Icon auswählt, bzw. wie kann ich abfragen wohin der Rechtsklick gezeigt hat?
Ich hoffe, ich habe mein Anliegen verständlich machen können.
LG
Peter