Winforms -在下拉事件期间停止组合框的下拉

本文关键字:组合 事件 Winforms | 更新日期: 2023-09-27 18:09:58

我需要实现一个ComboBox,其行为如下:
当单击ComboBox时,客户机调用API方法并用响应更新组合框项。
我的问题是,当我有0个结果-我希望ComboBox不打开(它有0个项目)。
有办法做到吗?这是我当前的代码:L

private void Combo_DropDown(object sender, EventArgs e)
{
    // Private method which addes items to the combo, and returns false if no itmes were added
    if (!AddItemsToComboBox())
    {
        // This is not working
        Combo.DroppedDown = false;
    }
}

Winforms -在下拉事件期间停止组合框的下拉

您可以使DropDownHeight尽可能小(1)。例如:

  int iniHeight;
  private void Form1_Load(object sender, EventArgs e)
  {
        iniHeight = Combo.DropDownHeight;
  } 
  private void Combo_DropDown(object sender, EventArgs e)
  {
        Combo.DropDownHeight = (AddItemsToComboBox() ? iniHeight : 1);
  }