實現WinForm全球化的簡單方法

2021-09-05 13:52:07 字數 1559 閱讀 4550

看了蟈蟈今天發的文章後,研究了一下winform的多語言解決方案,參考網上的一些資料後,發現乙個簡單的方法,完全可以通過vs.net的強大功能實現。

具體方法如下:

1. 選中乙個form窗體,在屬性編輯器中設定localizable屬性為true(預設為false)

2. 設定language屬性為default,這樣就可以編輯預設情況下的文化設定

3. 然後在form中新增你需要的基本控制項,如按鈕、選單、標籤等

注意,一旦form發生變化,vs.net就會自動生成

=new

system.resources.resourcemanager(

typeof

(form1));

this

.mainmenu1.righttoleft 

=((system.windows.forms.righttoleft)(resources.getobject(

"mainmenu1.righttoleft

")));

////menuitem1

//this

.menuitem1.enabled =((

bool

)(resources.getobject(

"menuitem1.enabled

")));

this

.menuitem1.shortcut 

=((system.windows.forms.shortcut)(resources.getobject(

"menuitem1.shortcut

")));

this

.menuitem1.showshortcut =((

bool

)(resources.getobject(

"menuitem1.showshortcut

")));

this

.menuitem1.text 

=resources.getstring(

"menuitem1.text

");

this

.menuitem1.visible =((

bool

)(resources.getobject(

"menuitem1.visible

")));

從**看,其實使用的方法與 蟈蟈 所用的完全相同,都是用了resourcemanager(system.type)方法來實現resourcemanager的初始化。另外,其中通過大量 顯示型別轉換 完成控制項屬性設定。大家也可以用這些初始化**來做執行時多語言介面切換。

這種方法的確簡單易用,但對於有很多視窗的應用程式來說,並不是很方便,因為對於每個視窗,你需要多少種語言就必須配置多少個資源檔案,這些配置檔案由於是按每個視窗儲存的,統一管理不是很方便,目前還在繼續研究中。

參考資料:

1. 蟈蟈 的  .net 多語言解決方案(demo篇)

2. notexpad 的 .net framework 中多語言支援的實現

3. ceocio(ms mvp) 的 在c#桌面應用使用多語言

實現WinForm全球化的簡單方法

看了蟈蟈今天發的文章後,研究了一下winform的多語言解決方案,參考網上的一些資料後,發現乙個簡單的方法,完全可以通過vs.net的強大功能實現。具體方法如下 1.選中乙個form窗體,在屬性編輯器中設定localizable屬性為true 預設為false 2.設定language屬性為defa...

本地化與全球化的影響

本地化與全球化的影響 語言 文化 歷史 所在地的社會狀況 所在地的經濟狀況 全球化與本地化之間的衝突 信仰與追求 在本地化過程中,要根據當地的各種情況進行分析 了解當地的語言 文化 歷史 社會狀況 經濟狀況 如百姓收入,用於制定價格水平 以及當地居民的信仰與追求。而全球化,需要的是對全球各個分支機構...

全球化(1) 了解國際化

國際化,全球化,本地化這幾個概念經常被混淆。下圖說明國際化 全球化和本地化的關係。國際化 internationalization 是設計和製造容易適應不同區域要求的產品的一種方式。它要求從產品中抽離所有的與語言,國家 地區和文化相關的元素。換言之,應用程式的功能和 設計考慮在不同地區執行的需要,其...