Как я могу ограничить управление TextBox, чтобы только позволить значения 0 и 1?
Спасибо. И у меня есть еще один вопрос: Как я могу отключить помещенный текст от буфера обмена в моем управлении текстовым полем?
Если вы хотите отображать числа, а не чек или что-то в этом роде, но хотите разрешить только 0 или 1, вы можете использовать элемент управления NumericUpDown
и установить min на 0 max значение 1 и шаг 1.
Если вам действительно нужно текстовое поле, я бы использовал ответ Филипа, но я бы установил его MaxLength
на 1, чтобы не беспокоиться о 00, 11 или 01 или аналогичные значения.
Возможно, вы захотите увидеть ответ на этот связанный вопрос:
При использовании события 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 и другие кнопки «Назад».