多控件焦点循环移动

实现效果:

  

知识运用:

  TextBox控件的Enter事件    //当该控件处于当前窗体的活动控件时发生

  Leave事件          //当该控件不处于当前窗体的活动控件时发生

  以及KeyDown事件      //在控件有焦点的情况下按下键时

  和自定义方法Clear_Control //遍历指定控件

实现代码:

        private void AllControl_Enter(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = Color.CornflowerBlue;
        }

        private void AllControl_Leave(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = Color.White;
        }

        private void AllControl_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue==13)
            {
                int n = Convert.ToInt32(((TextBox)sender).Tag.ToString());
                Clear_Control(groupBox1.Controls,n,6);
            }
        }

        private void Clear_Control(Control.ControlCollection con,int n,int m)
        {
            int tem_n = 0;
            foreach (Control c in con)
            {
                if (c.GetType().Name == "TextBox")
                {
                    if (n == m)
                        tem_n = 1;
                    else
                        tem_n = n + 1;
                    if (Convert.ToInt32(((TextBox)c).Tag.ToString()) == tem_n)
                        ((TextBox)c).Focus();
                }
            }
        }
原文地址:https://www.cnblogs.com/feiyucha/p/10201759.html