Obsługa klawiatury numerycznej w Windows Forms.

0

Witam serdecznie. Tworzę kalkulator (na razie zwykły) i chciałbym zaimplementować do niego obsługę przycisków klawiatury numerycznej, cyfry mają się pojawiać w polu textBox1. Nie potrafię tego zaimplementować (Próbowałem użyć właściwości KeyPressEventArgs.KeyChar).

Fragment kodu obsługujący przycisk z cyfrą "1" .

public KalkulatorOkno()
        {
            InitializeComponent();
            
            
        }

        private void keypressed(Object o, KeyPressEventArgs e)
        {
            if(e.KeyChar == (char)Keys.NumPad1)
            {textBox1.Text += 1;}
        }

        private void button5_Click(object sender, EventArgs e)
        {

            textBox1.Text += 1;

        }

Oraz fragment Designera w której zaimplementowałem zdarzenie (Dla całego okna Formularza KalkulatorOkno() ):

this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(keypressed);
1

Może tak ?

public Form1()
        {
            InitializeComponent();
            this.KeyDown += new KeyEventHandler(Form1_KeyDown);
        }

        void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.NumPad0)
                //to coś tam...
        }
1

po co kombinować, nie wystarczy normalnie traktować klawisze jako znaki, bez rozróżniania numeryczne czy nie numeryczne?

            if(e.KeyChar == '1')

1 użytkowników online, w tym zalogowanych: 0, gości: 1