私はWinFormsでプログラミングしています。
私は最初の灰色のForeColorを持つComboBoxを設定しました。私の目標は、ユーザーが何か入力を開始したときに、このComboBoxのテキストの色を変更することです。
入力時にComboBoxがテキストの色を変更するためのイベント
私は_TextChanged
とTextUpdate
イベントを使用しようとしましたが、動作しません。
private void ComboBox1_TextChanged(Object sender, EventArgs e)
{
ComboBox1.ForeColor = SystemColors.ControlText;
}
私はすでに、ユーザーがドロップダウンリストから項目を選択すると、テキストの色を変更するには、イベント_SelectedIndexChanged
を使用し、それがうまく動作しますが、何か(そこにユーザーがタイプの場合、テキストはグレーのままComboBoxに関連付けられたAutoCompleteCustomSource
コレクションであるため、ユーザーはドロップダウンリストを使用する代わりに書き込むことができます)。
ご提案がありますか?
私はこの方法で解決したEDIT
:
は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 + =新しいSystem.Windows.Forms.KeyEventHandler(this.ComboBox1_KeyUp);このコードを使用
2)
プライベートボイドComboBox1_KeyUp(オブジェクト送信者、KeyEventArgs E) {ComboBox1.ForeColor = SystemColors.ControlText。 } – Wiccio