您好,登录后才能下订单哦!
C#中怎么调用函数显示值,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
C#调用函数显示值
我们可以在每个窗体的Load()事件中,C#调用函数显示值,来实现这个功能。当然,我们首先必须先,获得这个窗体要显示的语言的代码(如EN或ZH),该值可以存放在一个"全局"变量中(比如把值通过 Global.SetValue("lang",langugae)存入,通过Global.GetValue("lang")取出)。
/// <summary>
/// 获取控件的名称
/// </summary>
/// <param name="form"></param>
public static void getNames(Form form)
{
//根据用户选择的语言获得表的显示文字
Hashtable table = AppConfig.ReadResource
(form.Name,Global.GetValue("lang").ToString());Control.ControlCollection controlNames = form.Controls;
//可以在这里设置窗体的一些统一的属性,这样所有的窗体都会应用该设置
// 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());
}
因为有些控件其内部还有子控件,所以我们还要有个读取控件中子控件的C#调用函数显示值。
/// <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()]; } }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。