Maskedtextbox Маска меняется в зависимости от языка ОС

Привет я создал maskedtextbox в моем приложении WinForms с маской: 0/0 AAAAA и когда я устанавливаю это на ПК, где чешский язык установлен по умолчанию, он переводит обратную косую черту в точку, поэтому я 0.0 AAAAA

Могу ли я спросить, есть ли способ избежать этого автоматического изменения?

Спасибо за ваше время.

3 ответа

Решение

/ символ в свойстве Mask является разделителем даты. Локализуется автоматически, на чешском языке . символ является разделителем даты.

Вам нужно убежать от персонажа, чтобы он знал, что вы имели в виду буквальное. использование 0\/0 AAAAA вместо. Обратите внимание, что добавлен обратный слеш.

Попробуйте установить Culture собственность вашего MaskedTextBox в английскую культуру (потому что вы не заботитесь о местной культуре):

yourMaskedTextBox.Culture = new CultureInfo("en-US");
//or set it to an InvariantCulture
yourMaskedTextBox.Culture = CultureInfo.InvariantCulture;

Вы можете изменить это поведение через настройки в окне конфигурации панели "Регион и язык".

Другие вопросы по тегам