Combobox:更改此控件的字体时缺少KeyDown

时间:2015-09-08 20:21:27

标签: c# .net winforms combobox

我修改了组合框控件(WinForms): 当没有选择时(在我的代码中它是item[0]),然后我将combobox.Font设置为斜体灰色颜色,但如果选择了任何其他项目,我将combobox.Font设置为常规黑色颜色。

问题是:当“没有选择”并且我开始输入时,例如,我按下“s”键然后我期待这种行为:

1)将颜色更改为黑色,将字体更改为常规。

2)删除文本“公司名称......”并将“s”粘贴到combobox.Text(自动)

但我只看到第一个,看起来像更改字体后KeyDown事件消失了,它没有粘贴任何东西到combobox.Text ....

当我尝试通过按键向上和向下更改组合框项目时也是如此。

以下是代码:

    private void comboBoxFirmsFilterName_SelectedValueChanged(object sender, EventArgs e)
    {
        if (comboBoxFirmsFilterName.SelectedIndex == 0)
        {
            comboBoxFirmsFilterName.Font = new Font(comboBoxFirmsFilterName.Font, FontStyle.Italic);
            comboBoxFirmsFilterName.ForeColor = Color.FromArgb(64,64,64);
        }
        else
        {
            comboBoxFirmsFilterName.Font = regularFont;
            comboBoxFirmsFilterName.ForeColor = SystemColors.WindowText;
        }
    }



    private void comboBoxFirmsFilterName_KeyDown(object sender, KeyEventArgs e)
    {
        if (comboBoxFirmsFilterName.Font.Italic == true)
        {
            comboBoxFirmsFilterName.Font = regularFont;
            comboBoxFirmsFilterName.ForeColor = SystemColors.WindowText;
        }

    }

我做错了什么?

0 个答案:

没有答案