您好,登錄后才能下訂單哦!
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")取出)。
/// <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()]; } }
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(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)容。