Appendix BClient端元件\MultiLanguage

MultiLanguage

 

 

【功能說明】

用途:使用於Client端,用在畫面顯示時可以同時使用多國語言的文字。由於本元件在設計模式時,需要存取自一個SYS_LANGUAGE的資料表,因此,在設定前須事先設定其SYS_LANGUAGEDataBase後,才能設計。

 

【元件屬性】

Name(名稱)(string)

元件名稱,用於識別該元件。

 

Active(啟用)(bool)

是否開啟多語言功能,為True代表啟動。

 

DataBase(資料庫名稱)(string)

設計時期所指定的資料庫名稱。本多語言功能需要用到一個系統資料表(SYS_LANGUAGE),當你在目前表單中第一次使用時(在此元件Double Click),系統會將你所設定的多國語言存回SYS_LANGUAGE中,好讓下次可以繼續使用。當下次在以Double Click打開此元件時,系統會自動將上次存檔的SYS_LANGUAGE讀取下來,好讓設計者去維護,最後除了寫回SYS_LANGUAGE表之外,也會對此表單的resx(Resource檔案)寫入,好讓系統可以在執行模式時可以隨時切換語言別。在每次重設本元件的Caption與語言別時,因為Resource檔案也有被異動了,因此此表單就會須被重新Compile才會生效。

 

GroupIndex(顯示語言)(int32)

需要顯示的語言,可設定為8種語言,如English(英文)ChineseTra(繁體中文)ChineseSim(簡體中文)ChineseHK(香港中文)Japense(日文)korean(韓國文)Lan1(其他語言1)Lan2(其他語言2)可以用此屬性來達到動態設定的效果。

 

【事件】

此元件無事件。

 

【功能函數】

multiLanguage1.SetLanguage(Bool Default)

是否對目前表單設為與OS相同的語言別,DefualtTrue時代表要設為與OS相同,False則以GroupIndex做為語言別。

 

【其他說明】

在使用此元件時,需要將FormLocalizable的屬性設為True,這樣可以把設計者新增的元件自動產生到本元件的設定內容中,以便系統可以使用。

 

【範例】

以下在打開表單時,即自動預設為與OS的語別一致。

private void Form1_Load(object sender, EventArgs e)

{

   multiLanguage1.SetLanguage(true);

}

 

以下是用Button來切換成英文語言別的實例:

privatevoid button1_Click(object sender, EventArgs e)

 {

   multiLanguage1.GroupIndex = MultiLanguage.GroupIndex.English;

     multiLanguage1.SetLanguage(false);

}

 

 

Top of Page