Посмотрите, удовлетворяются ли ваши потребности с помощью DialogFragment. DialogFragment имеет метод увольнения (). На мой взгляд, гораздо более чистым.
В Visual Studio: File + Open + File введите c: \ windows \ system32 \ user32.dll. Откройте узел String Table и дважды щелкните String Table. Прокрутите вниз до 800.
Microsoft занимает довольно серьезную позицию против использования этих идентификаторов ресурсов. Однако, учитывая количество программистов, которые сделали то, о чем вы думаете, маловероятно, что они когда-либо смогут изменить эти цифры. Вам потребуется P / Invoke LoadLibrary () и LoadString ().
Однако ваш главный провал в этом плане - Vista / Win7 Ultimate с языковыми пакетами MUI. Это позволяет пользователю переключаться между языками без обновления строк ресурсов в библиотеках DLL. В таком издании всегда будут английские струны.
Что ж, если вы используете стандартную функцию MessageBox.Show ()
и передаете ей соответствующие параметры, она автоматически локализует для вас кнопки да / нет / окей / отменить .
Что более интересно, так это то, как вы локализуете текст сообщения.
Нет, не существует стандартного поддерживаемого способа сделать это. Да, Windows действительно хранит эти строки, и их (с некоторыми усилиями) можно получить, но нет гарантии, что они останутся в одном месте и под одним и тем же идентификатором от версии к версии.
Хотя вы, возможно, не хотите, чтобы это был ответ, ответ на самом деле заключается в локализации вашего приложения. Если вы локализуете все остальное (как и вам пришлось бы, если только вы просто не хотели локализовать OK
и Отменить
), я не уверен почему было бы очень сложно включить локализованные значения для OK
и Cancel
.