【发布时间】:2020-10-05 14:34:03
【问题描述】:
我正在尝试以黄色突出显示表单上的活动文本框。我总共有 60 个文本框。因此,我的想法是,当用户按下文本框时,背景颜色应变为黄色,或者如果用户按下选项卡,则它进入的任何文本框也应变为黄色。我让鼠标单击一个工作,但我无法让 Tab 键按下进入文本框工作。我真的需要进入文本框的 tab 键入口才能工作,因为我的 tab 索引完美排列,所以有一个自然的流程。 这是我拥有的当前代码,可用于通过鼠标单击所需的文本框(在事件 Enter 上)突出显示文本框:
private void tbAll_Enter(object sender, EventArgs e)
{
foreach (Control tb in this.Controls)
{
if (tb is TextBox)
{
if (tb.Focused == true)
{
((TextBox)tb).BackColor = System.Drawing.Color.Yellow;
}
}
}
}
但是,如果我按 Tab 键进入文本框,它不会突出显示黄色,但我刚刚离开的前一个字段会突出显示黄色。有人知道这个问题的原因和解决方法吗?
【问题讨论】:
标签: c# winforms loops event-handling