Grüße,
Daniel
> kann mir jemand sagen, wie ich einem ListView im View-Style "Details"
> beigebracht bekomme, dass er verschiedene Kontextmenüs anzeigt, je
> nachdem, ob man im Headerbereich oder im Item-Bereich geklickt hat?
Standardmässig sollte folgendes klappen :
http://www.google.de/groups?selm=uKZ5EeD5CHA.2400%40TK2MSFTNGP09.phx.gbl
Hast Du eine Ganz-Zeilen-Sektion gewählt, wird es etwas schwieriger :
[How can I tell which column (subitem) has been clicked on in my listview?]
http://64.78.52.104/FAQ/WinForms/FAQ_c90c.asp#q1006q
In folgendem Beispiel wird über den Klick in den ColumnHeader ein
KontextMenü für die angeklickte Spalte angezeigt :
http://www.codeproject.com/cs/miscctrl/ListViewContextMenu.asp
ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP C#]
htp://Dzaebel.NET
Danke für die Links, aber sie lösen leider nicht mein Problem.
Mein Problem ist nicht, herauszufinden, auf welchem ListViewItem
geklickt wurde, sondern, ob im Headerbereich oder im Bereich der Items
geklickt wurde.
Ich habe einen ListView mit View=Details (=Detailansicht, es wird ein
Header angezeigt).
Ich will verschiedene Kontext-Menüs anzeigen, je nachdem, ob jemand auf
einen Header-Eintrag oder auf einen Eintrag in der Liste klickt. So wie
im Explorer in der Detailansicht, wo man ein Menü für die Auswahl der
Spalten bekommt, und ein anderes Menü, wenn man Einträge der Liste anklickt.
Ich denke, das sollte doch eine Art Standardproblem sein, und hatte
gehofft, dass es eine Standardlösung gibt.
Wenn ich das richtig sehe, funktioniert das MouseUp-Ereignis nur im
Bereich, wo die Items angezeigt werden. Und das ColumnClick-Ereignis
wird nur bei einem Klick mit der linken Maustaste ausgelöst.
Versuch mal das MouseDown-Event abzufangen und verändere, abhängig davon,
wo gerade "hingeklickt" wurde das Context-Menu.
D. h. wird das MouseDown-Event ausgelöst, so kannst du dir sicher sein, dass
NICHT
auf den Header geklickt wurde. ==> MenuItems austauschen ODER setzt eine
Variable,
die du im PopUp-Event auswertest.
Ist die Variable gesetzt, dann Anzeige des Context-Menüs für List-Items
(anschließend die Variable unbedingt wieder zurücksetzen)
Ist die Variable nicht gesetzt, dann Context-Menü für Header anzeigen...
Gruß
Jörg
"Daniel Höh" <dh...@gmx.de> wrote in message
news:42624...@news.arcor-ip.de...
Sieht so aus, als würde man wirklich irgendwie so trixen müssen...
Danke für die Anregung.
Daniel