PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Visual Basic 2010 - Timer und Tastendruck


Geldmann3
2013-03-01, 17:12:58
Hallo, ich habe Code, den ich gerne ausführen würde, sobald ein bestimmter Timer tickt und zugleich eine Taste gedrückt wird.

Möchte ich den Code
If e.KeyCode = Keys.D Then...

jedoch in das Event

Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
einfügen, bekomme ich die Fehlermeldung:
"KeyCode" ist kein Member von "System.EventArgs".

Weiß jemand vielleicht, wie man das dennoch regeln kann?

Danke

Godmode
2013-03-01, 17:18:13
Ich würde einfach im Keydown Eventhandler speichern, dass ein der Key jetzt gedrückt wurde. Beim loslassen muss das natürlich wieder rückgängig gemacht werden. Im Tick von Timer würde ich dann diese Variable prüfen.

Ist C#, VB hab ich nicht installiert.

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{

bool keyPressed = false;
public Form1()
{
InitializeComponent();
timer1.Start();
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
keyPressed = true;
}

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
keyPressed = false;
}

private void timer1_Tick(object sender, EventArgs e)
{
if (keyPressed) {
Console.WriteLine("key pressed");
}
}
}
}

Geldmann3
2013-03-01, 18:02:24
Danke, habe es jetzt ganz ähnlich gelöst.

Godmode
2013-03-01, 18:05:33
Danke, habe es jetzt ganz ähnlich gelöst.

NP :)