C#調(diào)用函數(shù)顯示值
C#語言還是比較常見的東西,這里我們主要介紹C#調(diào)用函數(shù)顯示值,包括介紹讀取控件中子控件等方面。
C#調(diào)用函數(shù)顯示值
我們可以在每個(gè)窗體的Load()事件中,C#調(diào)用函數(shù)顯示值,來實(shí)現(xiàn)這個(gè)功能。當(dāng)然,我們首先必須先,獲得這個(gè)窗體要顯示的語言的代碼(如EN或ZH),該值可以存放在一個(gè)"全局"變量中(比如把值通過 Global.SetValue("lang",langugae)存入,通過Global.GetValue("lang")取出)。
- /// <summary>
- /// 獲取控件的名稱
- /// </summary>
- /// <param name="form"></param>
- public static void getNames(Form form)
- {
- //根據(jù)用戶選擇的語言獲得表的顯示文字
- Hashtable table = AppConfig.ReadResource
(form.Name,Global.GetValue("lang").ToString());- Control.ControlCollection controlNames = form.Controls;
- //可以在這里設(shè)置窗體的一些統(tǒng)一的屬性,這樣所有的窗體都會(huì)應(yīng)用該設(shè)置
- // form.KeyPreview = true;
- // form.MaximizeBox = false;
- // form.MinimizeBox = false;
- // form.ControlBox = false;
- // form.FormBorderStyle = FormBorderStyle.FixedDialog;
- // form.StartPosition = FormStartPosition.CenterScreen;
- // form.TopMost = true;
- // form.KeyDown += new KeyEventHandler(OnEnter);
- try
- {
- foreach(Control control in controlNames)
- {
- if(control.GetType() == typeof(System.Windows.Forms.Panel))
- GetSubControls(control.Controls,table);
- if(control.GetType() == typeof(System.Windows.Forms.GrouPBox))
- GetSubControls(control.Controls,table);
- // if(control.GetType() == typeof
(System.Windows.Forms.TextBox) && control.Enabled)- // control.GotFocus += new EventHandler(Txt_Focus);
- if(table.Contains(control.Name.ToLower()))
- control.Text = (string)table[control.Name.ToLower()];
- }
- if(table.Contains(form.Name.ToLower()))
- form.Text = (string)table[form.Name.ToLower()];
- }
- catch(Exception ex)
- Console.WriteLine(ex.ToString());
- }
因?yàn)橛行┛丶鋬?nèi)部還有子控件,所以我們還要有個(gè)讀取控件中子控件的C#調(diào)用函數(shù)顯示值。
- /// <summary>
- /// 獲得子控件的顯示名
- /// </summary>
- /// <param name="controls"></param>
- /// <param name="table"></param>
- private static void GetSubControls(Control.ControlCollection controls,Hashtable table)
- {
- foreach(Control control in controls)
- {
- if(control.GetType() == typeof(System.Windows.Forms.Panel))
- GetSubControls(control.Controls,table);
- if(control.GetType() == typeof(System.Windows.Forms.GroupBox))
- GetSubControls(control.Controls,table);
- if(table.Contains(control.Name.ToLower()))
- control.Text = (string)table[control.Name.ToLower()];
- }
- }
【編輯推薦】