попробуйте это
EditText et = ... // your EditText
et.setKeyListener(null) //makes the EditText non-editable so, it acts like a TextView.
Нет необходимости в подклассе. Основное различие между этим и тем, что ваш EditText не фокусируется, заключается в том, что у EditText все еще есть свой собственный курсор - вы можете выбрать текст и т. Д. Все, что он делает, это запрещает IME выскакивать его собственной программной клавиатуры.
В обработчике щелчка по кнопке «Ок» измените DialogResult на DialogResult.None
, если проверка не пройдена
Не устанавливайте свойство AcceptButton
в вашей форме и удалите свойство DialogResult
из вашей кнопки (вместо этого установите значение DialogResult.None
).
Вместо этого вы можете установить свойство DialogResult вашей формы в коде проверки.
if (allFieldsValidated) {
DialogResult = DialogResult.OK;
}