14. november 2003 - 17:30Der er
11 kommentarer og 1 løsning
ListView spørgsmål!
Jeg vil gerne lige lære det at bruge listView, så hjælp mig med dette eksempel:
Jeg har en ListView, som jeg har tilføjet nogle Items til! Jeg har 'Hej' og 'Farvel'. Når jeg klikker på 'Hej', skal der komme en MessageBox der siger 'Hej', og det samme hvis jeg klikker på 'Farvel'.
Når i har vist mig det, vil jeg gerne vide hvordan jeg kan lave to forskellige events til en item, en til når jeg klikker, og en til når jeg dobbeltklikker!
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Ved rigtig mange komponenter er der både en "Click" og en "DoubleClick" el. lign. Hvis du vil lave det manuelt, kan du evt. gemme en tidsvariabel ved hvert klik. Så kan du tjekke hvor længe siden det er personen sidst har klikket, hvis det ikke er særligt lang tid siden, kan du betragte det som anden halvdel af et dobbeltklik. Det afføder dog en del andre problemer, såsom at den altid udfører et eller andet ved den første halvdel af noget der i virkeligheden er et dobbeltklik
Det bedste er at bruge komponentens egen hændelse "DoubleClick" hvis der er én.
det er jo overordentligt svært at lave click og dobbeltklik i samme listview. for hvordan ved man om man har klikket een eller 2 gange. lige så snart du har klikket een gang bliver eventen for click kaldt og dermed når systemet ikke at opfange dobbelt klik. så skal du ihvertfald selv implementere det og det er ret svært. men erstat koden i en ny form med dette og se selv: ---------------------- using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
finger: Jeg tror ikke jeg kan bruge dit eksempel, fordi mine hændelser skal ikke være MessageBoxes, det var bare et eksempel! Jeg skal sådan set kunne se forskel på hvilke Items jeg klikker på, så f.eks: Hvis jeg klikker på 'Hej', så har jeg en Panel der hedder panHej, der skal BringToFront(), og det samme med 'Farvel', der skal så et andet Panel bringes frem! Hvordan gør jeg det? Jeg tænke noget i stil med: if (ListViewItem.Text.Equals("Hej) panHej.BringToFront();
Vil dog meget gerne kunne bruge Case, så f.eks: string besked = ListViewItem.Text; switch(besked) { Case "hej": panHej.BringToFront(); break; Case "Farvel": panFarvel.BringToFront(); break; }
Selvom det faktisk kun var dig der hjalp! finger's eksempel kunne jeg ikke bruge, men du nævnte at jeg kunne bruge dobbelt klik event, som jeg slet ikke havde set :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.