我想讓MessageBox的按鈕上的文本使用俄語,法語等 - 與Windows中默認設置的語言不同。更改MessageBox按鈕文本的語言
有沒有辦法做到這一點,而不創建我的自定義MessageBoxes?
我想讓MessageBox的按鈕上的文本使用俄語,法語等 - 與Windows中默認設置的語言不同。更改MessageBox按鈕文本的語言
有沒有辦法做到這一點,而不創建我的自定義MessageBoxes?
避免花費大量的時間和精力。你的應用的用戶將永遠得到她熟悉的消息框。它會顯示與她的語言相匹配的文本,就像Windows的其他部分一樣。有人說俄語作爲母語並不需要在飛行中切換到法語。如果她真的這麼做了,那麼她會購買Windows版旗艦版的許可證,以便快速更改Windows語言。
只要您不覆蓋默認文化並且已經本地化了您的應用,您的應用就會效仿。請注意,重寫UI線程的默認文化是一件非常危險的事情,.NET使用的線程池線程(或者您也可以)仍然以默認語言運行。由於字符串比較規則的不同,這可能會導致非常微妙的問題。例如,一個線程中填充的SortedList會突然不會在另一個線程中被排序,導致二分查找失效。
System.Windows.Forms.MessageBox
基於user32.dll
中的MessageBox
函數,該函數使用當前系統語言在按鈕上顯示文本。我不知道是否有重寫的方法,並且滾動自己的消息框看起來像可用的最佳選項。
謝謝,像往常一樣好的答案。 – 26071986 2010-10-04 18:23:38