C#递归遍历窗体所有textbox控件并设置textbox事件的方法
本文实例讲述了C#递归遍历窗体所有textbox控件并设置textbox事件的方法。分享给大家供大家参考。具体实现方法如下:
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public virtual void SetTextBoxOnEnterStyle(object sender, EventArgs e) { if (sender is TextBox) { TextBox tbox = sender as TextBox; if (!tbox.ReadOnly) { tbox.BackColor = Color.Yellow; } } }/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public virtual void SetTextBoxOnLeaveStyle(object sender, EventArgs e) { if (sender is TextBox) { TextBox tbox = sender as TextBox; if (!tbox.ReadOnly) { tbox.BackColor = Color.White; } } } /// <summary> /// /// </summary> /// <param name="frm"></param> public virtual void SetFormTextBoxControlStyle(Form frm) { IterateControlsSetTextBox(frm.Controls); }
/// <summary> /// /// </summary> /// <param name="ctls"></param> public virtual void IterateControlsSetTextBox(Control.ControlCollection ctls) { foreach (Control control in ctls) { if (control is TextBox) { (control as TextBox).Enter += new EventHandler(SetTextBoxOnEnterStyle); (control as TextBox).Leave += new EventHandler(SetTextBoxOnLeaveStyle); }
if (control.Controls.Count > 0) { IterateControlsSetTextBox(control.Controls); } } }
希望本文所述对大家的C#程序设计有所帮助。