【功能說明】
用途:使用於Client端,用在畫面顯示時可以同時使用多國語言的文字。由於本元件在設計模式時,需要存取自一個SYS_LANGUAGE的資料表,因此,在設定前須事先設定其SYS_LANGUAGE的DataBase後,才能設計。
【元件屬性】
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相同的語言別,Defualt為True時代表要設為與OS相同,False則以GroupIndex做為語言別。
【其他說明】
在使用此元件時,需要將Form的Localizable的屬性設為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);
}