Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ned-tryckt knapp

Postades av 2006-01-14 19:05:37 - Rasmus Anderzon, i forum vb.net, Tråden har 16 Kommentarer och lästs av 918 personer

Hur gör jag för att kolla om en tangent är nedtryckt i VB.NET.
Har tänkt att göra ett litet spel där två personer tävlar om vem som har snabbast reaktion. I mitten av rutan ska en "lampa" lysa röd o när den byter till grön så ska man slänga sig på sin knapp o snabbast får ett poäng.

PS!
Har ni några tipps till programmet så är de välkommna


Svara

Sv: Ned-tryckt knapp

Postades av 2006-01-15 11:13:53 - Peter Ilis

Hallåj!

Den kortaste tidenheten i .Net är ticks tror jag. I Timespan-klassen finns en funktion som heter TicksToSeconds eller liknande. Du kan använda skillnaden mellan två tidpunkter i programmet och få fram reaktionstiden. Istället för att se om en tangent är nedtryckt så kan du använda events. Om det handlar om en Windows-app så har du keydown som event t.ex. vilket du kan fånga.

Om du vill ha specifikt om en tangent är nedtryckt så finns svaret här:
http://www.pellesoft.se/communicate/forum/view.aspx?msgid=207883&forumid=2&sum=0

Mvh
Peter


Svara

Sv:Ned-tryckt knapp

Postades av 2006-01-15 17:55:34 - Jim Sagevid

i c# skulle det bli:
<code>
public enum Player
{
Player1,
Player2,
}

this.KeyDown += new KeyEventHandler(Key_Press);

private void Key_Press(object sender, KeyEventArgs e)
{
if ( r.KeyCode == Keys.LShiftKey )
{
CheckReaction(Player.Player1);
}
else if ( r.KeyCode == Keys.RShiftKey )
{
CheckReaction(Player.Player2);
}
}
</code>

Se till at du har en timer igång som stoppas i "CheckReaction"-metoden. Timern ska ha Interval = 1 och du får ha en int som ökar med varje Tick-event i timern; Inten blir då antal millisekunder sen den startade.

Detta är bara ett exempel på hur det kan lösas, det finns ju hur många sätt som helst =)


Svara

Sv:Ned-tryckt knapp

Postades av 2006-01-18 17:38:51 - Rasmus Anderzon

Fattar inte.
Har sökt på google i över 2 timmar nu och har inte hittat nått som hjälpt mig. Snälla berätta hur man gör så även jag fattar.


Svara

Sv: Ned-tryckt knapp

Postades av 2006-01-18 20:18:44 - Oskar Johansson

Vilken del av problemet är det du vill ha hjälp med?


Svara

Sv:Ned-tryckt knapp

Postades av 2006-01-19 06:01:41 - Rasmus Anderzon

Altså jag fattar varken vad Peter eller jim menar. Eller fattar gör jag men fattar inte hur jag kollar om t.ex tangent A är nedtryckt. Jim's kod kanske fungerar men jag använder VB.NET o inte C#

Resten kan jag. Altså hur jag kollar vem som var först o det


Svara

Sv: Ned-tryckt knapp

Postades av 2006-01-19 16:12:48 - Oskar Johansson

Har du vs.net/microsoft visual basic.net?


Svara

Sv:Ned-tryckt knapp

Postades av 2006-01-19 16:41:28 - Rasmus Anderzon

Microsoft Visual Basic 2005 Express Edition om det var det du mena.

EDIT:
BLIR GALEN OM NI INTE SÄGER HUR MAN GÖR SÅ JAG FATTAR


Svara

Sv: Ned-tryckt knapp

Postades av 2006-01-19 18:10:53 - Oskar Johansson

Du tar egenskaper på ditt formulär, sedan klickar du på blixten i egenskaperna (properties-fönstret, knappen som står för "events". Dubbelklicka på KeyPress-eventet. Nu hamnar du i koden i en funktion. Du kan jämföra e.KeyCode med någon tangent i enumerationen Keys.


Svara

Sv:Ned-tryckt knapp

Postades av 2006-01-19 19:19:58 - Rasmus Anderzon

När jag nu har sagt att jag vill ha lätt förklaring o ändå inte fattar så...
är jag korkad eller har ni missuppfattat mig =D


Svara

Sv: Ned-tryckt knapp

Postades av 2006-01-19 21:31:45 - Oskar Johansson

Tja, vad är det som inte fungerar? Har du försökt?


Svara

Sv:Ned-tryckt knapp

Postades av 2006-01-20 06:10:21 - Rasmus Anderzon

Måste varit min "fatta inte" -dag igår nu fatta jag ju =D
Men en sak fatta jag dock inte.

"Nu hamnar du i koden i en funktion. Du kan jämföra e.KeyCode med någon tangent i enumerationen Keys."

Jag hamnar i koden. Men nu tog det stop. Vad ska jag skriva där ??? Jag ser vad du skrev men kan du kanske ge ett exempel ???


Svara

Sv: Ned-tryckt knapp

Postades av 2006-01-20 13:49:50 - Oskar Johansson

Tja, någon skrev lite c# här ovanför:

<code>
private void Key_Press(object sender, KeyEventArgs e)
{
if ( r.KeyCode == Keys.LShiftKey )
{
CheckReaction(Player.Player1);
}
else if ( r.KeyCode == Keys.RShiftKey )
{
CheckReaction(Player.Player2);
}
}
</code>

Jag är rätt säker på att du med lite fantasi kan räkna ut hur du gör i vb.net. CheckReaction är en metod som inte finns, den bara finns där för att förklara var du ska stoppa in din kod där för att hantera att någon har tryckt på en tangent.


Svara

Sv:Ned-tryckt knapp

Postades av 2006-01-20 17:01:56 - Rasmus Anderzon

Ok nu är det nära.

Det enda som är fel nu är "r.KeyCode"
r is not declared

eftersom du skrev nått om e.KeyCode så bytter jag r mot e

"e.KeyCode"
KeyCode' is not a member of 'System.Windows.Forms.KeyPressEventArgs


<Hela koden>
<code>
Private Sub Form1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

If (r.KeyCode = Keys.LShiftKey) Then
Player1 += 1
ElseIf (e.KeyCode = Keys.RShiftKey) Then
Player2 += 1
End If

End Sub
</code>

Vad har jag gort för fel denna gång ???


Svara

Sv: Ned-tryckt knapp

Postades av 2006-01-21 00:45:36 - Oskar Johansson

Kolla vad det finns för andra egenskaper i KeyPressEventArgs


Svara

Sv:Ned-tryckt knapp

Postades av 2006-01-21 08:57:59 - Rasmus Anderzon

Nu fattar jag inte riktit.
Är inte så inne på VB än. Börgade för ca 2-3 veckor sedan.

Lekte lite i vb o hitta en rullgardin där det stod en blixt o "KeyPress"
Ändrade den till KeyDown

o la in koden där. Med e.KeyCode
O där fungera koden.

det jag nu behöver hjälp med är att när jag trycker på T så ska player ett få poäng o trycks R ner så ska P2 få poäng men det får de inte =(

< Koden >
<code>
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown


If (e.KeyCode = Keys.T) Then 'LShiftKey
Player1 += 1
Label3.Text = Player1
ElseIf (e.KeyCode = Keys.R) Then 'RShiftKey
Player2 += 1
Label4.Text = Player2
End If


End Sub
</code>

EDIT:
Testade med att lägga KeyDown på TabControllen istället. O nu fungerar det. Tack för all hjälp.


Svara

Sv: Ned-tryckt knapp

Postades av 2006-01-21 12:58:21 - Oskar Johansson

> o la in koden där. Med e.KeyCode
> O där fungera koden.

> Testade med att lägga KeyDown på TabControllen istället. O nu fungerar det. Tack för all hjälp.

Du ser, det går att exprimentera lite för att få saker att fungera :) (Det här var ett ganska enkelt problem, men det är viktigt att du lär dig lösa problem själv, och nu har du löst lite på egen hand och har lättare att lösa nästa problem som dyker upp :P )


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
399
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies