C#.NET: Как установить символы арабского или других языков в качестве ключей доступа для элемента управления текстового поля?

До сих пор я использовал свое программное обеспечение только на английском языке, теперь оно переводится на несколько языков, поэтому все ключи доступа устарели, а язык компьютера установлен не на английский, я хочу использовать свою горячую клавишу доступа ALT + F по-арабски? Как я это сделаю?

Заранее спасибо.

2 ответа

Решение

Из руководства Microsoft:

Раскладки клавиатуры меняются в зависимости от культуры / локали. Некоторые символы существуют не во всех раскладках клавиатуры. При назначении комбинаций сочетаний клавиш убедитесь, что вы можете воспроизводить их с помощью международных клавиатур, особенно если вы планируете использовать сочетания клавиш с многоязыковым интерфейсом Windows 2000 (многоязычный пользовательский интерфейс).

Поскольку в каждой культуре / локали может использоваться разная клавиатура, рассмотрите возможность использования цифр и функциональных клавиш (F4, F5 и т. Д.) Вместо букв в сочетаниях клавиш.

Хотя вам не нужно локализовать комбинации цифр и функциональных клавиш, они не настолько интуитивны для пользователя, как буквенные комбинации. Некоторые сочетания клавиш могут не работать для каждой раскладки клавиатуры в определенной культуре / локали. Например, в некоторых культурах / регионах используется более одной клавиатуры, например, в Восточной Европе и большинстве арабских стран / регионов.

Ключ доступа может быть назначен отдельно от контрольного текста.

<asp:TextBox id="TextBox" 
    AccessKey="A" 
    Text="arabic label" 
    runat="server"
/>

Дополнительная ссылка: https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.accesskey(v=vs.110).aspx

Возможно, это не официальная "лучшая практика", но технически это сработает.

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