WinForms에서 프로그래밍 중입니다.
ComboBox에는 초기 회색 ForeColor가 설정되어 있습니다. 내 목표는 사용자가 무언가를 입력 할 때이 ComboBox의 텍스트 색상을 변경하는 것입니다.
입력시 ComboBox의 텍스트 색상을 변경하는 이벤트
나는 _TextChanged
및 TextUpdate
이벤트를 사용해 보았지만 작동하지 않습니다.
private void ComboBox1_TextChanged(Object sender, EventArgs e)
{
ComboBox1.ForeColor = SystemColors.ControlText;
}
는 이미 사용자가 드롭 다운 목록에서 항목을 선택하면 텍스트 색상을 변경하려면 이벤트 _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