Winforms – 多选下拉列表

我正在购买下拉列表控件,允许我选择多个项目。 类似于CheckedListbox的东西,但是在下拉列表中(我不希望它占据屏幕的一大块)。 在这一点上,我非常确信没有这样的控件内置.NET。

注意这是Winforms,而不是ASP.NET。 有什么建议?

在CodeProject上查看这个项目:

  • CheckBox ComboBox扩展ComboBox类及其项目

还有另一个修复:

上面的解决方案是正确的,以解决第一个问题,它需要两次单击才能进入复选框列表,但是,当您单击控件退出它时,这会引入一个新问题,它会保留焦点,您必须双击才能转到另一个控制。 我能用以下代码解决这个问题:

在CheckBoxComboBox.cs中添加以下覆盖:

  protected override void OnClick(EventArgs e) { base.OnClick(e); this.Parent.Focus(); } 

根据Rob P.的回答和这个答案,它不会关注任何一个点击事件。

您应该再次显示下拉表单,因为下面的代码将关闭它。

Works的代码是:

 protected override void OnClick(EventArgs e) { base.OnClick(e); this.Parent.Focus(); this.dropdown.Show(this); }