如何突出显示聚焦复选框(tabindex)

时间:2015-06-22 12:43:05

标签: c# winforms checkbox tabs

我的应用程序有一些复选框,对用户来说更舒服 当他可以使用tab键时,检查框。这已经有效了。 但目前,用户无法看到他实际上是哪个复选框 当他按下回车时,他知道他现在在哪个复选框上。 是否可以使用选项卡突出显示当前选中/聚焦的复选框?

   for (int i = 1; i <= tasks; i++)
            {              
                CheckBox checkBox = new CheckBox();
                checkBox.Name = String.Format("chkBox_T{0}", i);
                checkBox.TabIndex = 0;
                checkBox.Text = "";
                checkBox.Autosize = true;
                checkBox.Location = new Point(ChkBoxX, chkBoxY);
                boundX_ChkBox += 26;
}

2 个答案:

答案 0 :(得分:0)

订阅GotFocus和LostFocus事件处理程序,切换颜色。

checkBox.GotFocus += () => { checkBox.Color = <focuscolor> };
checkBox.LostFocus += () => { checkBox.Color = <originalcolor> };

答案 1 :(得分:0)

我发现当使用设计器属性时,事件GotFocus和LostFocus不会出现在VS(2015)中。进入和离开的事件都在那里 - 也许MS正在远离GotFocus和LostFocus?说不上。

这里是我手动创建的剪辑(带有一个名为&#34的复选框; checkBox_active&#34;:

// set up the handlers in your code at initialize time
      checkBox_active.GotFocus += new System.EventHandler(this.checkBox_active_GotFocus);
      checkBox_active.LostFocus += new System.EventHandler(this.checkBox_active_LostFocus);


// code to handle the events
    private void checkBox_active_GotFocus(object sender, EventArgs e)
    {
      checkBox_active.BackColor = Color.Red;
    }
    private void checkBox_active_LostFocus(object sender, EventArgs e)
    {
      checkBox_active.BackColor = Color.Gray;
    }