24

を使用するMessageBox.Show()場合は、MessageBoxButtonsを選択できます。使用可能なボタンは列挙型であり、「はいいいえ」、「OKキャンセル」などのオプションを提供します。

たとえば、ノルウェーのメッセージテキストを使用している場合でも、ユーザーは英語の「はいいいえ」を受け取ります。

言語が正しくなるようにボタンのテキスト(C#)を変更する方法はありますか?テキストを上書きしたり、現在のロケールを何らかの方法で設定して、「はいいいえ」ではなく「JaNei」を使用できるようにすることはできますか?

クライアントに.NET言語パックをインストールすることに依存したくありません。

4

4 に答える 4

23

.NETではこれをネイティブでサポートしていません(とにかく、私が知る限り、間違っている場合は訂正してください)。私はこのCodeProjectの記事に出くわしました。これは、メッセージのフックとP / Invokeでうまくいくようです:http: //www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx

于 2009-05-30T22:28:25.787 に答える
16

通常、メッセージ ボックス ボタン (すべての Windows と同様) は、現在 Windows に設定されている UI 言語を優先します。したがって、英語版をインストールしていて、言語 (MUI バージョンまたは Ultimate for Vista/7) を変更できない場合は、運が悪いです。

メッセージボックスを自分で実装することもできますが、そうしないでください。ボタンの一般的なホットキー、Ctrl + Ins を使用してコンテンツをコピーする機能などの単純なものは、人々が四角い車輪を再発明し始めたときに最も欠けているものです。

于 2009-05-30T22:29:23.553 に答える
1

それは不可能だと思いますが、MSDNの記事MessageBox.Showメソッドを参照してください。あなたはいくつかのアイデアを得るかもしれません。メッセージボックスのテキストを変更できます。独自のメッセージボックス(新しいフォーム)を作成して表示するのはどうですか?

于 2009-05-30T22:29:00.200 に答える