示例中包含一个遍历当前窗体中所有控件并选择一个控件的方法,值得借鉴。
1.Designer.cs代码
namespace FocusChangeColor { partial class Form1 { /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 清理所有正在使用的资源。 /// </summary> /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要 /// 使用代码编辑器修改此方法的内容。 /// </summary> private void InitializeComponent() { this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox2 = new System.Windows.Forms.TextBox(); this.textBox3 = new System.Windows.Forms.TextBox(); this.textBox4 = new System.Windows.Forms.TextBox(); this.textBox5 = new System.Windows.Forms.TextBox(); this.textBox6 = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(10, 22); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(65, 12); this.label1.TabIndex = 0; this.label1.Text = "职工编号:"; // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(159, 22); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(65, 12); this.label2.TabIndex = 1; this.label2.Text = "职工姓名:"; // // label3 // this.label3.AutoSize = true; this.label3.Location = new System.Drawing.Point(10, 64); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(65, 12); this.label3.TabIndex = 2; this.label3.Text = "职工性别:"; // // label4 // this.label4.AutoSize = true; this.label4.Location = new System.Drawing.Point(159, 64); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(65, 12); this.label4.TabIndex = 3; this.label4.Text = "职工年龄:"; // // label5 // this.label5.AutoSize = true; this.label5.Location = new System.Drawing.Point(10, 110); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(65, 12); this.label5.TabIndex = 4; this.label5.Text = "出生年月:"; // // label6 // this.label6.AutoSize = true; this.label6.Location = new System.Drawing.Point(159, 110); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(65, 12); this.label6.TabIndex = 5; this.label6.Text = "职工职务:"; // // textBox1 // this.textBox1.Location = new System.Drawing.Point(81, 17); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(72, 21); this.textBox1.TabIndex = 6; this.textBox1.Tag = "1"; this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown); this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave); this.textBox1.Enter += new System.EventHandler(this.textBox1_Enter); // // textBox2 // this.textBox2.Location = new System.Drawing.Point(228, 17); this.textBox2.Name = "textBox2"; this.textBox2.Size = new System.Drawing.Size(72, 21); this.textBox2.TabIndex = 7; this.textBox2.Tag = "2"; this.textBox2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown); this.textBox2.Leave += new System.EventHandler(this.textBox1_Leave); this.textBox2.Enter += new System.EventHandler(this.textBox1_Enter); // // textBox3 // this.textBox3.Location = new System.Drawing.Point(81, 59); this.textBox3.Name = "textBox3"; this.textBox3.Size = new System.Drawing.Size(72, 21); this.textBox3.TabIndex = 8; this.textBox3.Tag = "3"; this.textBox3.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown); this.textBox3.Leave += new System.EventHandler(this.textBox1_Leave); this.textBox3.Enter += new System.EventHandler(this.textBox1_Enter); // // textBox4 // this.textBox4.Location = new System.Drawing.Point(228, 59); this.textBox4.Name = "textBox4"; this.textBox4.Size = new System.Drawing.Size(72, 21); this.textBox4.TabIndex = 9; this.textBox4.Tag = "4"; this.textBox4.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown); this.textBox4.Leave += new System.EventHandler(this.textBox1_Leave); this.textBox4.Enter += new System.EventHandler(this.textBox1_Enter); // // textBox5 // this.textBox5.Location = new System.Drawing.Point(81, 105); this.textBox5.Name = "textBox5"; this.textBox5.Size = new System.Drawing.Size(72, 21); this.textBox5.TabIndex = 10; this.textBox5.Tag = "5"; this.textBox5.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown); this.textBox5.Leave += new System.EventHandler(this.textBox1_Leave); this.textBox5.Enter += new System.EventHandler(this.textBox1_Enter); // // textBox6 // this.textBox6.Location = new System.Drawing.Point(228, 105); this.textBox6.Name = "textBox6"; this.textBox6.Size = new System.Drawing.Size(72, 21); this.textBox6.TabIndex = 11; this.textBox6.Tag = "6"; this.textBox6.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown); this.textBox6.Leave += new System.EventHandler(this.textBox1_Leave); this.textBox6.Enter += new System.EventHandler(this.textBox1_Enter); // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(312, 141); this.Controls.Add(this.textBox6); this.Controls.Add(this.textBox5); this.Controls.Add(this.textBox4); this.Controls.Add(this.textBox3); this.Controls.Add(this.textBox2); this.Controls.Add(this.textBox1); this.Controls.Add(this.label6); this.Controls.Add(this.label5); this.Controls.Add(this.label4); this.Controls.Add(this.label3); this.Controls.Add(this.label2); this.Controls.Add(this.label1); this.Name = "Form1"; this.Text = "焦点变色"; this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label6; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.TextBox textBox2; private System.Windows.Forms.TextBox textBox3; private System.Windows.Forms.TextBox textBox4; private System.Windows.Forms.TextBox textBox5; private System.Windows.Forms.TextBox textBox6; } }
2.cs代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace FocusChangeColor { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void textBox1_Enter(object sender, EventArgs e) { ((TextBox)sender).BackColor = Color.CornflowerBlue; } private void textBox1_Leave(object sender, EventArgs e) { ((TextBox)sender).BackColor = Color.White; } private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { int n = Convert.ToInt32(((TextBox)sender).Tag.ToString()); Clear_Control(this.Controls, n, 6); } } #region 遍历指定的控件 /// <summary> /// 遍历指定的控件 /// </summary> /// <param Con="ControlCollection">可视化控件</param> /// <param n="int">控件标识</param> /// <param m="int">最大标识</param> public void Clear_Control(Control.ControlCollection Con, int n, int m) { int tem_n=0; foreach (Control C in Con) { //遍历可视化组件中的所有控件 if (C.GetType().Name == "TextBox") //判断是否为TextBox控件 { if (n == m) tem_n = 1; else tem_n = n + 1; if (Convert.ToInt32(((TextBox)C).Tag.ToString())==tem_n) ((TextBox)C).Focus(); //清空当前控件 } } } #endregion } }
时间: 2024-10-14 21:59:54