多控件焦点循环移动

Posted feiyucha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多控件焦点循环移动相关的知识,希望对你有一定的参考价值。

实现效果:

  技术分享图片

知识运用:

  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();
                }
            }
        }

 

以上是关于多控件焦点循环移动的主要内容,如果未能解决你的问题,请参考以下文章

Ctrl +向左/向右移动焦点到其他控件

一行代码快速实现今日头条 网易新闻焦点图自动循环轮播效果

Xamarin.Mac 安全文本字段通过输入 Enter 键移动焦点

Android TV开发焦点移动源码分析

Android 手机卫士--自定义控件(获取焦点的TextView)

vb 如何用上下左右键改变控件位置,但是不改变焦点位置?