Czy jest mozliwosc ustawienia zakresu liczb wprowadzanych do texboxa ?
Np. by mozna bylo wprowadzic tylko liczby od 0 do 5 ?
0
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