диапазон вводимых значений в TextBox от 16 до 35
Вручную в textbox пользователь может ввести число от 16 до 35.
Код:
{
textBox1.MaxLength = 2;
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
textBox1.MaxLength = 2;
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
Вот так не получается
Код:
{
textBox1.MaxLength = 2;
if (Convert.ToInt32(textBox1.Text) >= 16 && Convert.ToInt32(textBox1.Text)<=35)
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
textBox1.MaxLength = 2;
if (Convert.ToInt32(textBox1.Text) >= 16 && Convert.ToInt32(textBox1.Text)<=35)
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
Код:
private void OnTextChanged(object sender, EventArgs e)
{
textBox1.MaxLength = 2;
for (int i = 0; i < textBox1.Text.Length; i++)
if (!Char.IsDigit(textBox1.Text[i]))
textBox1.Clear();
}
private void OnKeyUp(object sender, KeyEventArgs e)
{
if ((e.KeyCode >= Keys.D0) && (e.KeyCode <= Keys.D9) ||
((e.KeyCode >= Keys.NumPad0) && (e.KeyCode <= Keys.NumPad9)))
{
int Value = Convert.ToInt32(textBox1.Text);
if (((textBox1.Text.Length >= 2) && (Value < 16) || (Value > 35)) ||
((textBox1.Text.Length < 2) && ((Value < 1) || (Value > 3))))
textBox1.Clear();
}
}
{
textBox1.MaxLength = 2;
for (int i = 0; i < textBox1.Text.Length; i++)
if (!Char.IsDigit(textBox1.Text[i]))
textBox1.Clear();
}
private void OnKeyUp(object sender, KeyEventArgs e)
{
if ((e.KeyCode >= Keys.D0) && (e.KeyCode <= Keys.D9) ||
((e.KeyCode >= Keys.NumPad0) && (e.KeyCode <= Keys.NumPad9)))
{
int Value = Convert.ToInt32(textBox1.Text);
if (((textBox1.Text.Length >= 2) && (Value < 16) || (Value > 35)) ||
((textBox1.Text.Length < 2) && ((Value < 1) || (Value > 3))))
textBox1.Clear();
}
}
Рекомендую вместо textBox использовать comboBox readonly