2009年12月29日 星期二

C# Winform 不同語系的切換

當您所撰寫的Winform需要做語系切換時,通常有下列幾種作法

1. 資料庫切換語系 : 將Winform上的控制項與相對應的文字寫入資料庫,在做語系切換時讀取資料庫裡對應的控制項與對應的文字進行轉換。

2. XML切換語系 : 將Winform上的控制項與相對應的文字寫入XML檔案,在做語系切換時讀取控制項名稱與XML裡對應的文字進行轉換。

3. 利用資源檔切換語系 : 利用Form上的語言與對應的 *.res 進行切換

以上三種方式前面兩種方式較簡單就不在此敘述,第三種方式在設定上較繁瑣但是若要修改卻相當方便,所以我就針對第三種方法做說明。

要開發之前我們可以先到這裡下載控制項 這裡有提供現成的 Sample 程式,我們可以利用調用此控制向來完成我們要的切換語系功能。

1. 先建立一個C# Winform 表單名稱為 Mainform (配合dll命名規則)


2.將下載下來的專案建置可以得到 Infralution.Localization.dll 的控制項,在專案工具列中按右鍵 -> 選擇項目...


3.選擇剛剛建置好的dll,控制項 CultureManager 會加入到工具列


成功加入到工具列


4. 將此控制項拖拉到表單,並將其改名為 "cultureManager" 改名原因是為了要配合此項dll的命名規則,另外也拖拉一個選單將 "menustrip1" 改名為 "menustrip",在此選單下增加中文以及英文選單。


5. 接下來先加入兩個按鈕,將按鈕一的text改成"確定",按鈕二的text改成"取消",表單的text改成"更改語系"。

以上的步驟完成了 "預設" 表單配置。

6. 接下來建立中文表單的資源檔,修改表單的Language改成"中文(台灣)"和Localizable 改成 "true"


然後修改表單text為 "更改語系 (中文)" 建立完成後可以發現到多了一個表單的資源檔


7. 接著建立英文的資源檔和上面中文方法相同,將表單的Language改成"英文(美國)"
將表單名稱改為 "更改語系 (English)" 將選單和按鈕名稱改為英文,名稱可自行決定


程式碼的部分請按照下列來作修改


完成後就可以利用選單來切換語系了~

Source code Download : Change Language

沒有留言:

張貼留言