具有简单DropDownStyle的组合框;t显示下拉列表
本文关键字:显示 下拉列表 组合 简单 DropDownStyle | 更新日期: 2023-09-27 17:57:27
我想使用Combobox
和DropDownStyle=Simple
,当在框中键入某些内容时,它会更改项目列表。
项目的加载是可以的,我可以在items属性的调试模式下看到它们,但下拉列表没有显示,似乎是空的。
我还试图强制显示下拉放置
MyComboBox.DroppedDown = True;
有关于这种行为的线索吗?
根据MSDN:
ComboBoxStyle.Simple
是
指定列表始终可见,并且文本部分可编辑。这意味着用户可以输入新值,而不是仅限于选择列表中的现有值。
所以,如果列表总是可见的,那么它在哪里。由于默认设置的Size
,它不可见。将height
更改为:
MyComboBox.Size = new System.Drawing.Size(256, 150);
150
表示在这种情况下的高度。默认情况下,高度类似于21
,非常小将高度增加到适当的数字,列表应该是可见的。
还有一个非常重要的注意事项:在设置大小之前,请先设置ComboBoxStyle。我不知道为什么,但这里似乎有些无效或出了什么问题
因此,以下方法可行:
//Will work
MyComboBox.DropDownStyle = ComboBoxStyle.Simple;
MyComboBox.Size = new System.Drawing.Size(256, 150);
但这不会:
//Will not work
MyComboBox.Size = new System.Drawing.Size(256, 150);
MyComboBox.DropDownStyle = ComboBoxStyle.Simple;
后者可能适用于一些显式的无效调用,但我没有验证这一点。
如果你想在用户点击下拉箭头时打开下拉框,那么你必须使用其他组合框样式。在Simple
样式中,下拉箭头不会出现,并且列表将始终可见,正如MSDN定义所建议的那样。
我会把它作为评论发布,但我的声誉不够高。您是如何填充组合框的?
您的问题似乎非常熟悉:ComboBox不会更新其显示列表,除非您首先更改选择