Windows 窗体 TopMost 与 ComboBox

WindowsForms TopMost versus ComboBox

我有一个 WindowsForms 应用程序,我在其中打开一个作为对话框的窗体 (Form2.ShowDialog),在这个窗体中我有一个计时器,它将窗体的 TopMost 属性 设置为 true。 但是我在这个表单中也有一个 ComboBox,当我单击 ComboBox 以 select 一个项目时,列表会立即打开和关闭,因为 Timer 将 TopMost 属性 设置回 true。

如果你问我这是错误的方式,应该将你的“加载数据功能”从计时器替换为 form_load 事件。所以如果你想要当前的方式,你应该在 ComboBox Enter Event 中禁用计时器并在 ComboBox Leave Event 中启用计时器。

    private void comboBox1_Enter(object sender, EventArgs e)
    {
        timer1.Enabled = false;
    }

    private void comboBox1_Leave(object sender, EventArgs e)
    {
        timer1.Enabled = true;
    }