日期:2014-05-17  浏览次数:20970 次

C# 控件如何检测到tabindex到自己了
想做个C#控件的,在控件的代码中检测,如果按tab键到这个控件了,控件的颜色变化,移开恢复原样。
请问怎么在控件的代码中检测啊?

比如系统的combobox,tab到它的时候,会变成蓝色。而我现在想自己做个combobox想让它变成黄色,这该怎么做?

------解决方案--------------------
控件有GotFocus 事件和 LostFocus事件,
 public class MyComboBox : ComboBox
    {
        public MyComboBox()
        {
            this.GotFocus += MyComboBox_GotFocus;
            this.LostFocus += MyComboBox_LostFocus;
        }

        void MyComboBox_LostFocus(object sender, EventArgs e)
        {
            Console.WriteLine("TabIndex不是我了,变成黄色");
            base.ForeColor = System.Drawing.Color.Yellow;
        }

        void MyComboBox_GotFocus(object sender, EventArgs e)
        {
            Console.WriteLine("TabIndex是我了,变成蓝色");
            base.ForeColor = System.Drawing.Color.Blue;
        }


    }

------解决方案--------------------
+1。。。 。。
------解决方案--------------------
二楼说的差不多,不过要在EventArgs里判断是否按了"Tab"键