Подтвердить что ты не робот

Кнопки MessageBox - заданный язык?

Когда вы используете MessageBox.Show() вас есть выбор MessageBoxButtons на выбор. Доступные кнопки представляют собой перечисление и дают вам такие опции, как "Да Нет", "OK Отмена" и т.д.

Когда я использую, например, норвежский текст сообщения, пользователь по-прежнему получает английский "Да Нет".

Есть ли способ изменить текст кнопок (в С#), чтобы язык был правильным? Могу ли я переопределить текст или установить текущую локаль каким-либо образом, чтобы я мог иметь "Ja Nei" вместо "Да Нет"?

Я не хочу полагаться на установку языкового пакета .NET на моем клиенте.

4b9b3361

Ответ 1

В .NET нет встроенной поддержки .NET(насколько я знаю, в любом случае, пожалуйста, поправьте меня, если я ошибаюсь, кто-либо). Я столкнулся с этой статьей CodeProject, которая, похоже, делает трюк с некоторым подключением сообщений и P/Invoke: http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx

Ответ 2

Обычно кнопки сообщений (как и все Windows) соответствуют установленному в настоящее время языку пользовательского интерфейса для Windows. Поэтому, если у вас установлена ​​английская версия и вы не можете менять языки (версии MUI или Ultimate для Vista/7), вам не повезло.

Вы могли бы реализовать окно сообщений самостоятельно, но я прошу вас не делать этого. Простые вещи, такие как обычные горячие клавиши для кнопок, имеющие возможность использовать Ctrl + Ins для копирования содержимого и т.д., - это те, которые я пропускаю больше всего, когда люди начинают изобретать квадратные колеса.

Ответ 3

Я не думаю, что это возможно, но обратитесь к статье MSDN MessageBox.Show Method. Вы можете получить некоторые идеи. Вы можете изменить текст в окне сообщения. Как создать собственное окно сообщений (новая форма) и отобразить их?