ComboBox 在键入时更改文本颜色的事件

What Event for ComboBox to change text color while typing

我在 WinForms 中编程。
我有一个带有初始灰色 ForeColor 的 ComboBox 集。我的目标是在用户开始输入内容时更改此 ComboBox 的文本颜色。

我尝试使用 _TextChangedTextUpdate 事件,但没有用。

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 在文本已经更改时触发,这就是为什么在您订阅时输入的新字符没有不同的颜色。