Textbox: tylko liczby i enter

0

Witam,

bawię się tym już dłuższy czas i przeglądam rozwiązania innych i chyba to jest zbyt proste albo niemożliwie trudne, potrzebuje blokować inne klawisze niż cyfry w textbox oraz po wciśnięciu entera wywołać buttonclick

private void textBox1_TextChanged(object sender, EventArgs e)
        {
                       
                button1_Click(sender, e);
        }

 

Tak wygląda moja funkcja wywoływana po każdym znaku wpisanym, lub skasowanym, chciałbym do tego dorobić tylko te cyfry i enter.

Dziękuje z góry za pomoc.

Pozdrawiam</cpp>

0

Możesz np. użyć MaskedTextBoxa z maską na cyfry.
Możesz obsłużyć zdarzenie KeyPress albo KeyDown TextBoxa i zablokować w nim niechciane klawisze, przykład z cyframi na 80% jest na MSDN.

0

Poczytaj o Form.AcceptButton albo o zdarzeniu OnKeyDown i Keys

0

Wybierasz interesujący Cię textBox, wybierasz Propertis -> Zakładka Events(taki piorunek)
I szukasz zdarzenia KeyPress, klikasz na niego dwa razy i wklejasz kod:.

        private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == 0)// Sprawdzamy czy wciśnięty jest liczbą albo klawiszem backspace
            {
                e.Handled = false;                                     // Nie blokujemy znaku
            }
            else
            {
                e.Handled = true;                                    // W przeciwnym wypadku blokujemy znak
            }
        }
0

wklejasz kod
Dlaczego "wklejasz"? Powinno być "przepisujesz", jak już. A tak w ogóle, to ja bym nie dawał ryby, tylko wód... eee wędkę znaczy się :P

Podpisuję się pod radą somekinda, do takich rzeczy MaskedTextBox. Jeśli zaś chodzi o wciśnięcie entera, to korzystasz ze zdarzenia KeyPress, ew. KeyUp i sprawdzasz właściwość e.KeyCode.

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