Autor Wątek: Sprawdzanie wciśniętego klawisza  (Przeczytany 1997 razy)

Offline Bantu

  • Użytkownik

# Listopad 06, 2012, 18:39:11
Witam mam dość dziwny problem, który dla mnie jest totalnie nie zrozumiały, bo dla mnie jest on w 100% poprawny.
 
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Space)
{
button1.Text = "Wciśniete";
}
else
button1.Text = "NieWcisniete";
}

Powyższy kawałek kodu powinien zmienić zawartość buttona, a raczej jego tekst na ten podany. Niestety totalnie nic się nie dzieje z niewiadomych dla mnie przyczyn. Pracuje na Win8, VS2012 Pro oraz .NET 4.5

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline FoToN

  • Użytkownik

# Listopad 06, 2012, 18:50:50
Użyj właściwości KeyCode z KeyEventArgs zamiast KeyData.

Offline Pawelx156

  • Użytkownik

# Listopad 06, 2012, 19:01:14
Po pierwsze ustaw sobie  KeyPreview na TRUE w formie.

A kod daj taki:
private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Space)
            {
                button1.Text = "Wciśniete";
            }           
        }

        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Space)
            {
                button1.Text = "NieWcisniete";
            }         
        }