我有一个在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;
    }


谢谢!

最佳答案

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

关于c# - C#-窗体组合框对齐关闭,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12006271/

10-11 16:19