溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#中怎么調(diào)用函數(shù)顯示值

發(fā)布時(shí)間:2021-07-14 14:32:35 來源:億速云 閱讀:177 作者:Leah 欄目:編程語言

C#中怎么調(diào)用函數(shù)顯示值,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

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")取出)。

  1. /// <summary>  

  2. /// 獲取控件的名稱  

  3. /// </summary>  

  4. /// <param name="form"></param>  

  5. public static void getNames(Form form)  

  6. {  

  7.  

  8. //根據(jù)用戶選擇的語言獲得表的顯示文字  

  9. Hashtable table = AppConfig.ReadResource
    (form.Name,Global.GetValue("lang").ToString());  

  10. Control.ControlCollection controlNames = form.Controls;  

  11. //可以在這里設(shè)置窗體的一些統(tǒng)一的屬性,這樣所有的窗體都會(huì)應(yīng)用該設(shè)置  

  12. // form.KeyPreview = true;  

  13. // form.MaximizeBox = false;  

  14. // form.MinimizeBox = false;  

  15. // form.ControlBox = false;  

  16. // form.FormBorderStyle = FormBorderStyle.FixedDialog;  

  17. // form.StartPosition = FormStartPosition.CenterScreen;  

  18. // form.TopMost = true;  

  19. // form.KeyDown += new KeyEventHandler(OnEnter);  

  20. try  

  21. {  

  22. foreach(Control control in controlNames)  

  23. {  

  24. if(control.GetType() == typeof(System.Windows.Forms.Panel))  

  25. GetSubControls(control.Controls,table);  

  26.  

  27. if(control.GetType() == typeof(System.Windows.Forms.GrouPBox))  

  28. GetSubControls(control.Controls,table);  

  29.  

  30. // if(control.GetType() == typeof
    (System.Windows.Forms.TextBox) && control.Enabled)  

  31. // control.GotFocus += new EventHandler(Txt_Focus);  

  32.  

  33. if(table.Contains(control.Name.ToLower()))  

  34. control.Text = (string)table[control.Name.ToLower()];  

  35. }  

  36. if(table.Contains(form.Name.ToLower()))  

  37. form.Text = (string)table[form.Name.ToLower()];  

  38. }  

  39. catch(Exception ex)  

  40. Console.WriteLine(ex.ToString());  

  41. }  

因?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()];  }  }

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI