2

我有一个内置在 Visual Studio 和 C# 中的 winform。直到最近,组合框的行为都符合预期。但是,在添加功能时,我移动了所有表单元素,现在两个组合框在可以选择一个选项之前快速关闭(尽管您可以使用滚轮或箭头键选择一个项目)。下拉事件中的代码没有改变。我很茫然-有人遇到过这样的事情吗?

这是下拉事件的代码: -

    void comboBoxTargetServer_DropDown(object sender, System.EventArgs e)
    {
        comboBoxTargetServer.Items.Clear();
        comboBoxTargetDatabase.Items.Clear();
        comboBoxTargetDatabase.Items.Add("");
        comboBoxTargetDatabase.Enabled = false;
        //ActiveForm.Cursor = Cursors.WaitCursor;

        List<string> sqlServers = SQLUtilities.ListSQLServers();
        sqlServers.Sort();
        foreach (string sqlServer in sqlServers)
        {
            comboBoxTargetServer.Items.Add(sqlServer);
        }

        //ActiveForm.Cursor = Cursors.Arrow;
        comboBoxTargetDatabase.Enabled = true;            
    }

谢谢!

4

1 回答 1

2

一旦 ComboBox 下降,您将清除所有项目。这将清空它,因此 DropDown 中没有任何内容,因此列表将消失。您应该选择一个不同的事件来填充它。事实上,数据在应用程序的一次运行的上下文中是静态的吗?如果是这样,请在 Form Load 上填写 ComboBox 并保留它。

于 2012-08-17T13:02:13.137 回答