Как я могу позволить только 0 или 1 вводиться в TextBox?

Как я могу ограничить управление TextBox, чтобы только позволить значения 0 и 1?

Спасибо. И у меня есть еще один вопрос: Как я могу отключить помещенный текст от буфера обмена в моем управлении текстовым полем?

7
задан Alexry 21 May 2010 в 13:31
поделиться

3 ответа

Если вы хотите отображать числа, а не чек или что-то в этом роде, но хотите разрешить только 0 или 1, вы можете использовать элемент управления NumericUpDown и установить min на 0 max значение 1 и шаг 1.

Если вам действительно нужно текстовое поле, я бы использовал ответ Филипа, но я бы установил его MaxLength на 1, чтобы не беспокоиться о 00, 11 или 01 или аналогичные значения.

2
ответ дан 6 December 2019 в 15:19
поделиться

Возможно, вы захотите увидеть ответ на этот связанный вопрос:

Проверка ввода C # для текстового поля: float

1
ответ дан 6 December 2019 в 15:19
поделиться

При использовании события KeyPress

private void NumericOnlyKeyBox_KeyPress(object sender, KeyPressEventArgs e)
{
    var validKeys = new[] { Keys.Back, Keys.D0, Keys.D1 };

    e.Handled = !validKeys.Contains((Keys)e.KeyChar);
}

Установка e.Handled в значение «истина / ложь» указывает, следует ли принять символ в поле или нет.

Дополнительные сведения о KeyPressEventArgs можно найти в MSDN.

Примечание

Keys.Delete должен охватывать Keys.Delete, Keys.Backspace и другие кнопки «Назад».

11
ответ дан 6 December 2019 в 15:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: