Маска DevExpress XtraEditors TextEdit - PullRequest
       51

Маска DevExpress XtraEditors TextEdit

0 голосов
/ 09 декабря 2011

У меня есть TextEdit, и мне нужно ограничить его ввод следующими форматами:

  • 00,000
  • 0,000
  • 00,00
  • 0,00
  • ...

Может быть до 3 десятичных знаков. Целая часть не требуется.

Самое близкое, что я нашел, это MaskType = Numeric с маской ###.###. Однако это не принимает все нули, что является обязательным требованием.

Есть предложения?

ДОБАВИТЬ: Я думаю о 0{0,3}\.0{0,3} с MaskType = RegEx. Это подходящий выбор?

Ответы [ 2 ]

0 голосов
/ 09 декабря 2011

Проверьте XtraEditor's Тип маски: Числовой . Вы устанавливаете неправильную маску редактирования. на месте ###.### используйте 000.000. Проверьте раздел пользовательской маски по указанной ссылке.

В случае #, входная строка преобразуется в значение редактора, цифры, оставленные пустыми, не сохраняются в результате, но в случае 0; цифры, оставленные пустыми, интерпретируются как нули.

private void Form1_Load(object sender, EventArgs e)
        {
            textEdit1.Properties.Mask.MaskType = MaskType.Numeric;
            textEdit1.Properties.Mask.EditMask = "000.000";
            textEdit1.Properties.Mask.UseMaskAsDisplayFormat = true;
        }
0 голосов
/ 09 декабря 2011

Похоже, вы ответили на свой вопрос.Ваш RegEx выглядит нормально.

Если вы хотите разрешить и ненулевые значения, такие как 12.345 или 001.010, тогда маска должна быть [0-9]{0,3}\.[0-9]{0,3}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...