2010-09-27 82 views

回答

3

避免花費大量的時間和精力。你的應用的用戶將永遠得到她熟悉的消息框。它會顯示與她的語言相匹配的文本,就像Windows的其他部分一樣。有人說俄語作爲母語並不需要在飛行中切換到法語。如果她真的這麼做了,那麼她會購買Windows版旗艦版的許可證,以便快速更改Windows語言。

只要您不覆蓋默認文化並且已經本地化了您的應用,您的應用就會效仿。請注意,重寫UI線程的默認文化是一件非常危險的事情,.NET使用的線程池線程(或者您也可以)仍然以默認語言運行。由於字符串比較規則的不同,這可能會導致非常微妙的問題。例如,一個線程中填充的SortedList會突然不會在另一個線程中被排序,導致二分查找失效。

+0

謝謝,像往常一樣好的答案。 – 26071986 2010-10-04 18:23:38

0

將您的表單中的Localizable屬性更改爲True。然後通過更改Language屬性來設置語言。

+0

試過了。沒有反應。 – 26071986 2010-09-27 11:15:33

+0

好吧,我發現這篇文章可能會幫助你:http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx – Ruel 2010-09-27 11:36:25

1

System.Windows.Forms.MessageBox基於user32.dll中的MessageBox函數,該函數使用當前系統語言在按鈕上顯示文本。我不知道是否有重寫的方法,並且滾動自己的消息框看起來像可用的最佳選項。