PDA

Vollständige Version anzeigen : Mouse Ereignis im Hauptmenü


migmar
01.08.2004, 17:08
Hallo zusammen

Ich habe eine Form1
in der Form1 gibt es ein Hauptmenü mit diversen Einträgen
z.B. mnuDatei

Nun möchte ich wenn man mit der Mouse über Menüeintrag fährt (nicht Click) der Eintrag wird ja farblilch markiert (wie bei Windows, Start, Programme)
in der Statusbar entsprechend einen Kommentar dazu anzeigen.
Ist das so möglich.

Ich bekomme nämlich als Ereignis - Auswahl auf den Menüeintrag nur Click, Select, Popup,und zwei weitere. Aber kein Move , Down, Up......

Oder allgemein gefragt wie könnte man so etwas lösen.

Gruss Markus

Noodles
01.08.2004, 17:24
Du musst in dem Select Ereignis des Menüs reagieren.

migmar
01.08.2004, 19:09
Das habe ich versucht, das hat dann auch funktioniert.
Aber mit dem Select-Ereignis muss man auf den Menüeintrag clicken und ich würde gerne eine Aktion machen wenn man darüber fährt.
Oder meinst du das anders.

Gruss Markus

Noodles
01.08.2004, 19:36
Original geschrieben von migmar
Das habe ich versucht, das hat dann auch funktioniert.
Aber mit dem Select-Ereignis muss man auf den Menüeintrag clicken und ich würde gerne eine Aktion machen wenn man darüber fährt.
Oder meinst du das anders.

Gruss Markus

Das stimmt nicht.
Wenn dem so wäre hätte man dieses Ereignis Click genannt und nicht Select. ;)

1. StatusBar hinzufügen
2. der StatusBar ein Panel hinzufügen
3. das Select Ereignis des Menübefehles abfangen
4. im Select Ereignis >>StatusBarPanel.Text = "TestText"<< hinzufügen
5. in den Eigenschaften der StatusBar ShowPanels auf true setzen
6. kompilieren

migmar
01.08.2004, 19:55
Ich weiss du hast recht. Aber....

Private Sub mnuDatei_Select(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuDatei.Select
MsgBox("hallo ich wurde geselectet.")
End Sub
Und diese MsgBox kommt aber erst wenn ich darauf klicke

Gruss Markus

Noodles
01.08.2004, 20:00
Bei den obersten MenüItems (Datei,Bearbeiten oder ähnliche) ist Select wirklich als Click implementiert. Bei den normalen MenuItems (Öffnen, Speichern oder so) funktioniert Select aber dann wirklich als Select.
Weshalb das so ist oder ob das ein Bug ist kann ich Dir allerdings nicht sagen.

migmar
01.08.2004, 20:16
Ich danke dir .
Die Sache ist erledigt. Genau so funktioniert es.

Gruss Markus

migmar
01.08.2004, 20:22
Zusatzfrage

Es gibt ja kein unselect. Wie kann man denn das nicht mehr selectiert sein erfragen ?
Gruss Markus

Noodles
01.08.2004, 20:54
Da ich nicht ganz so sehr mit der VB.NET Syntax vertraut bin gebe ich Dir das Bsp. jetzt in C#.

protected override void OnMenuComplete(EventArgs e)
{
statusBarPanel.Text = "Entweder ein leerer String oder ein anderer Text";
base.OnMenuComplete (e);
}

Noodles
01.08.2004, 21:01
Hab es mir grad in VB angeschaut, da hätte ich auch schneller drauf kommen können, da es ja vom Prinzip her dasselbe ist. Das Erignis MenuComplete findest Du in den Ereignissen Deiner Form.

migmar
01.08.2004, 21:02
ok, Danke

werde es morgen mal so in der Art ausprobieren.

noch einen schönen Abend

Gruss Markus

migmar
02.08.2004, 06:36
Nochmals vielen Dank.
Mit dem MenuComplete funktioniert es wie gewünscht.

Gruss Markus