Avatar billede slo Nybegynder
07. november 2003 - 16:14 Der er 8 kommentarer og
1 løsning

KeyDown-event i DirListBox

Jeg har en DirListBox på en form. (Udover det er der også en DriveListBox)
Hvis jeg dobbeltklikker på en mappe med musen åbnes mappen og jeg kan se undermapper.
Jeg kunne godt tænke mig at der skete noget tilsvarende når jeg trykker på Return - hvad skal jeg indsætte i min KeyDown event:

Private Sub Dir1_KeyDown(KeyCode As Integer, Shift As Integer)
Dim i As Integer
If KeyCode = 13 Then   
    '''Her skal jeg bruge hjælp!
End If
End Sub
Avatar billede martin_moth Mester
07. november 2003 - 16:20 #1
Et gæt:

Private Sub Dir1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then   
    Dir1_Click()
  End If
End Sub

Du kalder bare din click-event - hvad der skal stå i paranteserne er jeg ikke helt 100 på, men det kan du selv se i din kode.
Avatar billede slo Nybegynder
07. november 2003 - 16:24 #2
Det kan jeg desværre ikke... det giver en fejl (koden bli'r rød) - der kommer ikke nogen forslag op til hvad der skal stå i paranteserne. Dir1 har i øvrigt "kun" en change event.
Avatar billede martin_moth Mester
07. november 2003 - 16:30 #3
Har Dir1 kun en change event?
Hvordan kan du så skrive _KeyDown????????????
Prøv at klikke på Dir1-kontrollen, og se hvilke events der er mulige. Vælg Click-eventen (hvis den findes - det er jeg 99% sikker på at den gør) og se hvilke parametre den tager...
Avatar billede slo Nybegynder
07. november 2003 - 16:40 #4
Sorry - du har naturligvis ret - den har en click event, men uden parametre.
Når jeg dobbelklikker på en given mappe i Dir1 listen åbnes mappen og undermapperne kan ses.
Det er sådan set handlingen at "åbne en mappe" jeg gerne vil have kaldt.
Avatar billede martin_moth Mester
07. november 2003 - 16:47 #5
Jeg er med på hvad du mener :o)
Jeg tror ikke helt du forstår hvad jeg mener, sikkert fordi jeg ikke formulerer mig tydeligt nok. Har ikke VB her, men kan prøve at se på det når jeg kommer hjem fra arbejde til min egen PC. I mellemtiden finder nogle andre måske på en helt anden løsning :o)
Avatar billede martin_moth Mester
07. november 2003 - 17:59 #6
Hvis du ikke kan bruge listindex (ligesom i en Listbox) så har jeg ikke flere ideer.
Kan ikke få min egen første ide til at virke :o(
Avatar billede martin_moth Mester
07. november 2003 - 18:02 #7
Hvor svært kan det være:

Private Sub Dir1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    Dir1.Path = Dir1.List(Dir1.ListIndex)
  End If
End Sub
Avatar billede slo Nybegynder
10. november 2003 - 09:27 #8
Tak :)
Det var super - egentlig ikke så svært nu du viser mig det!
Avatar billede martin_moth Mester
10. november 2003 - 09:31 #9
Sådan er det jo altid - det er nemt når man lige får den rigtige ide :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester