C#调用函数显示值

C#语言还是比较常见的东西,这里我们主要介绍C#调用函数显示值,包括介绍读取控件中子控件等方面。

C#调用函数显示值

我们可以在每个窗体的Load()事件中,C#调用函数显示值,来实现这个功能。当然,我们首先必须先,获得这个窗体要显示的语言的代码(如EN或ZH),该值可以存放在一个"全局"变量中(比如把值通过 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. //根据用户选择的语言获得表的显示文字  
  9. Hashtable table = AppConfig.ReadResource
    (form.Name,Global.GetValue("lang").ToString());  
  10. Control.ControlCollection controlNames = form.Controls;  
  11. //可以在这里设置窗体的一些统一的属性,这样所有的窗体都会应用该设置  
  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. }  

因为有些控件其内部还有子控件,所以我们还要有个读取控件中子控件的C#调用函数显示值。

 
 
 
  1. /// <summary>  
  2. /// 获得子控件的显示名  
  3. /// </summary>  
  4. /// <param name="controls"></param>  
  5. /// <param name="table"></param>  
  6. private static void GetSubControls(Control.ControlCollection controls,Hashtable table)  
  7. {  
  8. foreach(Control control in controls)  
  9. {  
  10. if(control.GetType() == typeof(System.Windows.Forms.Panel))  
  11. GetSubControls(control.Controls,table);  
  12.  
  13. if(control.GetType() == typeof(System.Windows.Forms.GroupBox))  
  14. GetSubControls(control.Controls,table);  
  15.  
  16. if(table.Contains(control.Name.ToLower()))  
  17. control.Text = (string)table[control.Name.ToLower()];  
  18. }  
  19. }  

【编辑推荐】

  1. C#与VB7比较详解
  2. C#连接Access浅析
  3. C#创建XML Web services学习经验
  4. C# Windows应用程序概述
  5. C# SmartPhone程序学习笔记
THE END