为什么我的组合框下拉菜单在输入键事件时重置为false?

时间:2018-06-19 13:55:04

标签: c# winforms combobox

在使用Windows窗体的组合框时,我面临一个问题。

出于搜索目的,当用户在组合框中输入文本并按Enter键时,我将调用一种特定方法。

在这种方法中,我将 combobox.DroppedDown 设置为 true

我在两种情况下都调用此方法。

1。当用户按下回车键时 2.用户点击搜索图标时

第二事件上,上述功能正常运行。 DroppedDown设置为true,并且处于打开状态。在第一次事件中,虽然我使用的是相同的功能,但无法获得相同的结果。

下面是上述功能的代码段。

 public void search(EventHandler eventhandler)
    {
        try
        {
            if (!string.IsNullOrEmpty(cmbuser.Text))
            {
                var list= _ITaskRepo.GetList(cmbuser.Text);
                if (list != null)
                {
                    lblFuser.Text = null;
                    cmbuser.SelectedIndexChanged -= eventhandler;
                    cmbuser.DataSource = list.ToList();

                    cmbuser.SelectedIndexChanged += eventhandler;
                    if (!cmbuser.DroppedDown)
                    {
                        cmbuser.DroppedDown = true;
                    }
                }
                else
                {
                    lblFuser.Text = "user not found";
                    cmbuser.Text = null;
                }
            }
        }
        catch (Exception ex)
        {
            LogUtil.LogError(ex, this);
        }
    }

0 个答案:

没有答案