Avatar billede Kim Neesgaard Seniormester
15. april 2012 - 18:13 Der er 8 kommentarer og
1 løsning

Hvordan undgår man et bip ved tryk på Esc?

Jeg har en Windowsapplikation i Visula Studio 2010 (VB) og når jeg indsætter følgende kode i en textbox's KeyUp hændelse, så siges der bip:

If e.KeyCode = 27 Then
    Me.Hide()
    RS.Show()
End If

Hvordan undgår man dette bip?
Avatar billede groenaert Novice
15. april 2012 - 19:11 #1
Måske kan følgende gøre det:

If e.KeyCode = 27 Then
    e.SuppressKeyPress = True
    Me.Hide()
    RS.Show()
End If

Venlig hilsen

Grønært
Avatar billede groenaert Novice
15. april 2012 - 19:15 #2
Følgende kan vist også bruges:

If e.KeyCode = 27 Then
    e.Handled = True
    Me.Hide()
    RS.Show()
End If

Venlig hilsen

Grønært.
Avatar billede Kim Neesgaard Seniormester
15. april 2012 - 21:44 #3
Genialt - tak for hjælpen! Lægger du et svar?
Avatar billede groenaert Novice
15. april 2012 - 23:19 #4
Gerne...

Venlig hilsen

Grønært
Avatar billede Kim Neesgaard Seniormester
16. april 2012 - 18:48 #5
Der var jeg vist lige hurtig nok - noget andet kode forstyrrede. Den har stadig lyd, både ved key ned og key op.
Avatar billede groenaert Novice
16. april 2012 - 19:07 #6
Prøv lige at suplerer med noget mere kode...

Venlig hilsen

Grønært
Avatar billede Kim Neesgaard Seniormester
16. april 2012 - 19:44 #7
Private Sub tbTasteSamler_KeyUp(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles tbTasteSamler.KeyUp
If e.KeyCode = 27 Then
            e.SuppressKeyPress = True
            Me.Hide()
            RS2010.Show()
        End If
End Sub
Avatar billede groenaert Novice
16. april 2012 - 22:32 #8
Sorry det tog lidt tid, førend jeg er vendt tilbage. Svigerophavet kom på et uventet besøg.
However så virker det for mig, når det ligges i en KeyDown event.

Private Sub tbTasteSamler_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tbTasteSamler.KeyDown
        If e.KeyCode = 27 Then
            e.SuppressKeyPress = True
            Me.Hide()
            RS2010.Show()
        End If

Er der nogen speciel grund til at du laver det i en KeyUp event?
Jeg ville mene at det er mest korrekt at lave det i en KeyDown, hvis det er fordi du vil fange et forkert tastetryk.

Venlig hilsen

Grønært
Avatar billede Kim Neesgaard Seniormester
18. april 2012 - 19:21 #9
Jeg bruger KeyUp på textboksen for at være i stand til at aflæse det aktuelle indhold, da der for hvert tastetryk skal laves en søgning. Hvis man bruger KeyDown aflæses med eet tegns forsinkelse, så den kan jeg ikke bruge til det.

Men fornemt, at du fandt ud af, at man skal bruge KeyDown for at få den til at 'tie stille'. Jeg sætter den til at køre begge hændelser med hvert sit formål.

Igen super tak!
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