• 1
  • 2
2007-04-21, 13:51
  #1
Medlem
West-ens avatar
Jag anvnder Visual Basic 2005 Express Edition, men jag lyckas inte att fnga knapptryckningar! Form1_KeyPress funkar inte, hur mycket man n trycker kommer han aldrig dit. Hur ska man gra?
Citera
2007-04-21, 15:39
  #2
Medlem
X_surfers avatar
Citat:
Ursprungligen postat av West-en
Jag anvnder Visual Basic 2005 Express Edition, men jag lyckas inte att fnga knapptryckningar! Form1_KeyPress funkar inte, hur mycket man n trycker kommer han aldrig dit. Hur ska man gra?

Har inte anvnt .NET nt men testa Form1_keydown istllet
Har nn annan komponent focus s sl p keypreview om den nu finns kvar vill sga
Citera
2007-04-21, 20:13
  #3
Medlem
West-ens avatar
Citat:
Ursprungligen postat av X_surfer
Har inte anvnt .NET nt men testa Form1_keydown istllet
Har nn annan komponent focus s sl p keypreview om den nu finns kvar vill sga
Tackar fr hjlpen. Med KeyPreview funkar det! Det jag undrar nu r hur jag fr reda p vilken knapp som tryckts...
Citera
2007-04-21, 22:13
  #4
Medlem
StefanHeterJags avatar
Citat:
Ursprungligen postat av West-en
Tackar fr hjlpen. Med KeyPreview funkar det! Det jag undrar nu r hur jag fr reda p vilken knapp som tryckts...

du fr med ett keyeventargs-event (e) .
t.ex. kan du gra s hr:
Kod:
select case e.keycode
   case keys.enter: msgbox "Enter"
   case keys.S: msgbox "S"
end select


>Flyttar trden till .Net ocks...
Citera
2007-04-22, 01:39
  #5
Medlem
West-ens avatar
Det funkar inte! e.keycode finns tydligen inte, men e.keychar finns. e.keychar ger dock bara en just tecknet, tex bokstver siffror eller specialtecken. Knappat som tab, esc, enter osv ger inget utslag. Sedan reagerar den inte p piltangentera verhuvudtaget. Form1_keypress allts.
Citera
2007-04-22, 01:49
  #6
Medlem
StefanHeterJags avatar
Citat:
Ursprungligen postat av West-en
Det funkar inte! e.keycode finns tydligen inte, men e.keychar finns. e.keychar ger dock bara en just tecknet, tex bokstver siffror eller specialtecken. Knappat som tab, esc, enter osv ger inget utslag. Sedan reagerar den inte p piltangentera verhuvudtaget. Form1_keypress allts.

Du fr anvnda keydown eller keyup-eventet.

Kod:
Private Sub frmMain_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
        Select Case e.KeyCode
            Case Keys.Left : MsgBox("Vnster")
            Case Keys.Right : MsgBox("hger")
            Case Keys.Up : MsgBox("upp")
            Case Keys.Down : MsgBox("Ner")
        End Select
    End Sub
Citera
2007-04-22, 01:59
  #7
Medlem
West-ens avatar
Okej, en frga till. Varfr uppdateras inte mina bilder?
Kod:
Select Case e.KeyChar
            Case "a"
                PB1X = PB1X - 10
                PB2X = PB1X
                PB3X = PB2X
                PB4X = PB3X
                PB5X = PB4X
                PB6X = PB5X
            Case "d"
                PB1X = PB1X + 10
                PB2X = PB1X
                PB3X = PB2X
                PB4X = PB3X
                PB5X = PB4X
                PB6X = PB5X
            Case "w"
                PB1Y = PB1Y - 10
                PB2Y = PB1Y
                PB3Y = PB2Y
                PB4Y = PB3Y
                PB5Y = PB4Y
                PB6Y = PB5Y
            Case "s"
                PB1Y = PB1Y + 10
                PB2Y = PB1Y
                PB3Y = PB2Y
                PB4Y = PB3Y
                PB5Y = PB4Y
                PB6Y = PB5Y
        End Select
        PictureBox1.Location = New System.Drawing.Point(PB1X, PB2Y)
        PictureBox2.Location = New System.Drawing.Point(PB2X, PB2Y)
        PictureBox3.Location = New System.Drawing.Point(PB2X, PB2Y)
        PictureBox4.Location = New System.Drawing.Point(PB2X, PB2Y)
        PictureBox5.Location = New System.Drawing.Point(PB2X, PB2Y)
        PictureBox6.Location = New System.Drawing.Point(PB2X, PB2Y)
Detta ska bli ett klassiskt "maskspel", felet r det att frn brjan synd alla bollar i en rad som jag satt dem, men nr jag flyttar p dem med w,a,s eller d s frsvinner de andra och bara den frsta syns. Varfr det?
Citera
2007-04-23, 00:44
  #8
Medlem
West-ens avatar
Ingen som vet? Antagligen mste de ritas igen, men hur? Har frskt med en massa olika funktioner men inget hjlpt.
Citera
2007-04-23, 00:56
  #9
Medlem
StefanHeterJags avatar
Citat:
Ursprungligen postat av West-en
Ingen som vet? Antagligen mste de ritas igen, men hur? Har frskt med en massa olika funktioner men inget hjlpt.

Citat:
PictureBox1.Location = New System.Drawing.Point(PB1X, PB2Y)
PictureBox2.Location = New System.Drawing.Point(PB2X, PB2Y)
PictureBox3.Location = New System.Drawing.Point(PB2X, PB2Y)
PictureBox4.Location = New System.Drawing.Point(PB2X, PB2Y)
PictureBox5.Location = New System.Drawing.Point(PB2X, PB2Y)
PictureBox6.Location = New System.Drawing.Point(PB2X, PB2Y)

du stter ju ALLA utom frsta till samma position, s det r inte s konstigt...

Borde vl vara nt snt hr:
Citat:
PictureBox1.Location = New System.Drawing.Point(PB1X, PB1Y)
PictureBox2.Location = New System.Drawing.Point(PB2X, PB2Y)
PictureBox3.Location = New System.Drawing.Point(PB3X, PB3Y)
PictureBox4.Location = New System.Drawing.Point(PB4X, PB4Y)
PictureBox5.Location = New System.Drawing.Point(PB5X, PB5Y)
PictureBox6.Location = New System.Drawing.Point(PB6X, PB6Y)

Sen gr du fel i select casen nr du ska flytta vrdena.. Men det lter jag dig komma p sjlv..
Citera
2007-04-23, 01:50
  #10
Medlem
West-ens avatar
Herregud vilken jvla miss! Hur kan jag vara s blind? Var det drfr jag inte fick ngot svar mhnda?
Vet inte vad som flg i mig. Det dr med Select Casen frstod jag inte, men gr det antagligen snart...

Satte mig med penna och papper och frskte klura ut det innan det slog mig...jag mste ju gra tvrtom, frn 6 till 1 annars fr de ju samma vrde!

EDIT: Jag lade ocks till att de andra vrderna skulle ndras i samma case, allts bde X och Y. Men det stmmer fortfarande inte helt, masken rr p sig men beter sig konstigt. Om ngon orkar hjlpa mig fr ni grna gra det.
Citera
2007-04-23, 02:38
  #11
Medlem
StefanHeterJags avatar
Citat:
Ursprungligen postat av West-en
Herregud vilken jvla miss! Hur kan jag vara s blind? Var det drfr jag inte fick ngot svar mhnda?
Vet inte vad som flg i mig. Det dr med Select Casen frstod jag inte, men gr det antagligen snart...

Satte mig med penna och papper och frskte klura ut det innan det slog mig...jag mste ju gra tvrtom, frn 6 till 1 annars fr de ju samma vrde!

EDIT: Jag lade ocks till att de andra vrderna skulle ndras i samma case, allts bde X och Y. Men det stmmer fortfarande inte helt, masken rr p sig men beter sig konstigt. Om ngon orkar hjlpa mig fr ni grna gra det.

Rent tekniskt s knns det som ondigt att flytta ALLA prickarna p masken. Varfr inte flytta den sista dit dr den nya ska vara s blir effekten densamma. Det borde ju g bra om alla prickarna masken bestr av ser likadana ut iaf.

Sen ha en array dr du hller reda p i vilken ordning de ligger s du vet vilken den sista r nsta gng osv.
Citera
2007-04-23, 02:39
  #12
Medlem
StefanHeterJags avatar
Citat:
Ursprungligen postat av West-en
Satte mig med penna och papper och frskte klura ut det innan det slog mig...jag mste ju gra tvrtom, frn 6 till 1 annars fr de ju samma vrde!
hehe.. precis..
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in