ustalenie zakresu podawanych liczb do textboxa

0

Czy jest mozliwosc ustawienia zakresu liczb wprowadzanych do texboxa ?
Np. by mozna bylo wprowadzic tylko liczby od 0 do 5 ?

0

Tak.

Najprościej chyba zrobić walidację w zdarzeniu TextChanged.

0

a jak mam 100 kontrolek to dla kazdej oddzielnie ?

1

To wtedy piszesz swoją dziedzicząc po textboxie i tam implementujesz walidację.

0

Pod każdą kontrolkę trzeba podpiąć metodę, ale jedna metoda wystarczy. Parametrem jest sender, czyli kontrolka, której zdarzenie dotyczy, więc można z niej wyciągnąć aktualny tekst.

0
        TextBox[] textBoxArray;
        int PositionY = 0;
        private void Form_Load(object sender, EventArgs e)
        {
            textBoxArray = new TextBox[textBoxCount];

            for (int i = 0; i < textBoxCount; i++)
            {
                textBoxArray[i] = new TextBox();

                textBoxArray[i].TextChanged += Form1_TextChanged;
                textBoxArray[i].Top = PositionY;

                Controls.Add(textBoxArray[i]);
                PositionY += PositionY + textBoxArray[i].Height;
            }
            
        }
        private void Form_TextChanged(object sender, EventArgs e)
        {
            int minNum = 0;
            int maxNum = 5;

            int result;

            if (int.TryParse(((TextBox)sender).Text, out result))
            {
                if (result >= minNum && result <= maxNum)
                    ((TextBox)sender).Text = result.ToString();
                else
                    ((TextBox)sender).Text = "0";
            }
            else if(((TextBox)sender).Text != string.Empty)
            {
                ((TextBox)sender).Text = "0";   
            }
        }

Powinno hasać.

2

po co cudowac z text boxami skoro dobry wujek microsoft na takie okazje przygotowal dedykowana kontrolke NumericUpDown?
https://msdn.microsoft.com/en-us/library/system.windows.forms.numericupdown(v=vs.110).aspx

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