ComboBox 在键入时更改文本颜色的事件
What Event for ComboBox to change text color while typing
我在 WinForms 中编程。
我有一个带有初始灰色 ForeColor 的 ComboBox 集。我的目标是在用户开始输入内容时更改此 ComboBox 的文本颜色。
我尝试使用 _TextChanged
和 TextUpdate
事件,但没有用。
private void ComboBox1_TextChanged(Object sender, EventArgs e)
{
ComboBox1.ForeColor = SystemColors.ControlText;
}
我已经使用事件 _SelectedIndexChanged
在用户 select 下拉列表中的项目时更改文本颜色,效果很好,但如果用户键入一些东西(有一个 AutoCompleteCustomSource
集合与 ComboBox 相关联,因此用户可以写入而不是使用下拉列表)。
有什么建议吗?
编辑
我是这样解决的:
在Form1.Designer.cs
注册:
this.ComboBox1.KeyUp += new System.Windows.Forms.KeyEventHandler(this.ComboBox1_KeyUp);`
使用此代码:
private void ComboBox1_KeyUp(Object sender, KeyEventArgs e)
{
ComboBox1.ForeColor = SystemColors.ControlText;
}
您看过 KeyUp
活动吗? MSDN Keyup
您应该可以订阅此活动并在其中做任何您想做的事情。
使用文本框触发的 KeyUp, KeyDown, or KeyPress 事件。您可能不希望 KeyPress
用于此目的。 TextChanged
在文本已经更改时触发,这就是为什么在您订阅时输入的新字符没有不同的颜色。
我在 WinForms 中编程。
我有一个带有初始灰色 ForeColor 的 ComboBox 集。我的目标是在用户开始输入内容时更改此 ComboBox 的文本颜色。
我尝试使用 _TextChanged
和 TextUpdate
事件,但没有用。
private void ComboBox1_TextChanged(Object sender, EventArgs e)
{
ComboBox1.ForeColor = SystemColors.ControlText;
}
我已经使用事件 _SelectedIndexChanged
在用户 select 下拉列表中的项目时更改文本颜色,效果很好,但如果用户键入一些东西(有一个 AutoCompleteCustomSource
集合与 ComboBox 相关联,因此用户可以写入而不是使用下拉列表)。
有什么建议吗?
编辑
我是这样解决的:
在Form1.Designer.cs
注册:
this.ComboBox1.KeyUp += new System.Windows.Forms.KeyEventHandler(this.ComboBox1_KeyUp);`
使用此代码:
private void ComboBox1_KeyUp(Object sender, KeyEventArgs e)
{
ComboBox1.ForeColor = SystemColors.ControlText;
}
您看过 KeyUp
活动吗? MSDN Keyup
您应该可以订阅此活动并在其中做任何您想做的事情。
使用文本框触发的 KeyUp, KeyDown, or KeyPress 事件。您可能不希望 KeyPress
用于此目的。 TextChanged
在文本已经更改时触发,这就是为什么在您订阅时输入的新字符没有不同的颜色。