我在WinForms中編程。
我有一個組合框與初始灰色ForeColor設置。我的目標是在用戶開始鍵入內容時更改此ComboBox的文本顏色。
ComboBox在輸入時更改文本顏色的事件
我試圖使用_TextChanged
和TextUpdate
事件,但不起作用。
private void ComboBox1_TextChanged(Object sender, EventArgs e)
{
ComboBox1.ForeColor = SystemColors.ControlText;
}
我已經使用了Event _SelectedIndexChanged
更改文本顏色,當用戶選擇下拉列表中的項目和它的作品很好,但文本爲灰色,如果用戶鍵入的東西(有是與ComboBox相關聯的AutoCompleteCustomSource
集合,因此用戶可以寫入而不是使用下拉列表)。
有什麼建議嗎?
編輯
我已經解決了這個辦法:
中註冊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;
}
非常感謝@ user1895086! 雖然目前還不清楚KeyUp,KeyDown和KeyPress之間的區別,但我已經解決了這個問題:
1)在Form1.Designer中註冊。cs'
this.ComboBox1.KeyUp + = new System.Windows.Forms.KeyEventHandler(this.ComboBox1_KeyUp);使用此代碼
2)
私人無效ComboBox1_KeyUp(對象發件人,KeyEventArgs E) { ComboBox1.ForeColor = SystemColors.ControlText; } – Wiccio