Я хочу, чтобы текстовое поле принимало только персидский алфавит и не принимало никаких знаков в C#. Может ли кто-нибудь помочь мне с кодом?Я хочу ограничить свой текстовый ящик персидским алфавитом, как я могу это сделать? В C#
ответ
Вы должны добавить событие для своего текстового поля. То, что вы хотите, - это событие KeyPress.
см. Этот учебник в DotNet Perls.
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !e.KeyChar <= 'BiggestPersianChar' && !e.KeyChar >= 'SmallesPersianChar';
}
В настоящее время я не знаю Biggest персидская полукокса и самый маленький. но я надеюсь, что вы это знаете.
Edit:
Я думаю, что это самый большой и самый маленький символ. Большим и маленьким я имею в виду его Юникод.
e.Handled = !e.KeyChar <= 'ی' && !e.KeyChar >= 'ا';
неважно большой или маленький, просто быть персидским –
я знаю. каждый символ имеет код 'ascii'. Например, код ascii 'A' равен' 65'. когда вы нажимаете клавишу на клавиатуре, вы должны проверить это, если этот символ находится в диапазоне персидского алфавита или нет. поэтому вы скажете 'e.KeyChar <= ی' и' e.KeyChar> = 'ا''. означает 'e.KeyChar' (Ключ, который вы нажали) должен находиться между ی и ا и не принимает никакое другое слово или знак. Но для этого вы должны определить это событие для текстового поля. см. учебник @FatemehHojjati –
извините. Персидские символы не имеют ascii-кода. они имеют Unicode. см. ответ Bahman_Aries. однако это решение по-прежнему остается верным! @FatemehHojjati –
Это, вероятно, что вы ищете:
// Only allows "Persian characters" and "Space".
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Regex.IsMatch(e.KeyChar.ToString(), @"\p{IsArabic}")
&& !string.IsNullOrWhiteSpace(e.KeyChar.ToString()))
e.Handled = true;
}
// Only allows "Persian characters", "Space" and "Numbers".
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Regex.IsMatch(e.KeyChar.ToString(), @"\p{IsArabic}")
&& !string.IsNullOrWhiteSpace(e.KeyChar.ToString())
&& !char.IsDigit(e.KeyChar))
e.Handled = true;
}
Конкретные наборы символов в стандарте Unicode занимают определенный диапазон или блок последовательных кодовых точек. Например, базовый набор латинских символов находится от \u0000
до \u007F
, тогда как набор символов арабского языка находится от \u0600
до \u06FF
. Регулярное выражение построить
\p{ name }
соответствует любому символу, который принадлежит к общей категории Юникода или именованного блока.
Подробнее о блоке Unicode here.
Это правда. Но вам нужно также определить событие для текстового поля. в противном случае этот метод остается бесполезным. +1 для Regex и '' \ p {IsArabic} "' –
Это очень верно:) –
Что такое Regex ??? –
- 1. Я хочу сделать свой собственный отладчик C# - как бы это сделать? Какие инструменты я должен использовать?
- 2. Как я могу ограничить это?
- 3. Как я могу это сделать в C#?
- 4. Как я могу выровнять свой текстовый элемент?
- 5. Я хочу предоставить пользователям свой собственный Dropbox из моего java-приложения. Как я могу это сделать?
- 6. Как я могу это сделать в C#
- 7. Как я могу сделать это на C#?
- 8. Я хочу сделать это массив
- 9. Как я могу сделать свой браузер уникальным?
- 10. Как я могу это сделать?
- 11. Как я могу получить свой домен, чтобы сделать это?
- 12. Как я могу сделать свой общий REGEX?
- 13. Как я могу сделать свой список интерактивным?
- 14. Я хочу получить свой вывод, как это, используя sql.
- 15. Как я могу форматировать текст, вставляемый в богатый текстовый ящик?
- 16. Как я могу ограничить это число?
- 17. Компиляция LZMA SDK в C создает lib, и я хочу dll, как я могу это сделать?
- 18. Я хочу мигать MSC1211. Как это сделать?
- 19. Как я могу это сделать?
- 20. Сделать нормальный текстовый ящик, как InputBox
- 21. как я могу сделать свой слайдер больше?
- 22. Как я могу сделать свой тестовый файл?
- 23. Я пытаюсь реализовать множественное наследование. Как я могу это сделать
- 24. email .. я могу это сделать?
- 25. Я хочу сделать Properties.Settings.Default.Save();
- 26. Как я могу это сделать в mysql?
- 27. Как я могу это сделать в CSS?
- 28. Я хочу сделать свой текст ссылкой в yii ckeditor. как это сделать?
- 29. Как я могу сделать перевод? сделать это?
- 30. Как я могу сделать это в datagridview?
Пожалуйста, добавьте некоторый код, вы хотите ограничить ввод во внешнем виде через JS/Jquery? Какую настройку вы используете? –
Какое текстовое поле? WinForms? ASP.NET? WPF? Что вы подразумеваете под «не понимаете никаких признаков»? что ты уже испробовал? –
обычный текстовый ящик в winform в C#, знаки вроде: & ^% $ # –