Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Key press event i vb .net

Af Ny på siden mouse-the-mighty | 16-12-2005 18:36 | 760 visninger | 2 svar, hop til seneste
Jeg sidder lige og er ved at lege med at lave spil i VB .net og til det skal jeg (naturlivis) bruge en event trigger der fanger key down events Jeg har brugt Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown og sat form1's KeyPreview til true så nu bliver eventen triggeret på NÆSTEN alle taste tryk. uheldigvis triggere den ikke når der trykkes på pil tasterne :( Nogle af jer der kan sige mig hvad jeg gør galt og/eller mangler?
--
#1
Steffen
Gæst
17-12-2005 11:35

Rapporter til Admin
Er du 100% sikker på den ikke trigger ? Det burde den gøre sålænge det er keydown. keypress trigger som regel ikke ved de mere spøjse taster (escape, enter, piletaster, pg up/dwn etc.) Kan vi se noget kode for din eventhandler?
--
Gæstebruger, opret dit eget login og få din egen signatur.
#2
mouse-the-mighty
Ny på siden
17-12-2005 12:05

Rapporter til Admin
Tjaa nu skal jeg selvfølige ikke udelukke noget da jeg stadig er lidt usikker på opbygningen af .net (var vant til vb 6) Men jeg satte en break point ind i event'en for at se om den bliver kaldt. Og den bliver fint nok kaldt ved de flest taste tryk, bare ikke pil tasterne :( Her er selve kode jeg har so far..... i den bruger jeg dog nummer tasterturet's pil taster til at bevæge spilleren (bare indtil jeg ved hvordan jeg for fat i de rigtige pil taster) Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown '19 = pause button '98 = down '100 = left '102 = right '104 = up Select Case e.KeyValue Case 19 'pause key If MouseTimer.Enabled = True Then MouseTimer.Enabled = False PauseMessage.Visible = True Else MouseTimer.Enabled = True PauseMessage.Visible = False End If Case 98 'num pad down key If LocationValid(PlayerCurLocX, PlayerCurLocY + 1) Then PlayerDirection = "Down" End If Case 100 'numpad left key If LocationValid(PlayerCurLocX - 1, PlayerCurLocY) Then PlayerDirection = "Left" End If Case 102 'numpad right key If LocationValid(PlayerCurLocX + 1, PlayerCurLocY) Then PlayerDirection = "Right" End If Case 104 'num pad up key If LocationValid(PlayerCurLocX, PlayerCurLocY - 1) Then PlayerDirection = "Up" End If End Select End Sub
--

Opret svar til indlægget: Key press event i vb .net

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning