问题标签 [combobox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
17719 浏览

wpf - 在 WPF 中设置组合框的下拉高度

我在 WPF 中有一个组合框,我在运行时添加项目(通过数据绑定到列表)。我想动态设置下拉框的高度,以便显示所有(或大部分)项目。不幸的是,下拉菜单的高度似乎设置了一次,并且不能动态更改。它似乎总是相同的大小。

是否有一些相对简单的调整下拉高度?


是的,我在将项目添加到组合框后尝试设置它。在调试器中,看起来新值就在那里。但是,当我打开下拉列表时,它会下降到自己选择的大小。我尝试过夸大 MaxDropDownHeight,甚至将其设置为“自动”也无济于事。

0 投票
1 回答
1762 浏览

wpf - WPF ComboBox 字体绑定 FileFormatException

我有一个绑定到的 WPF 组合框

发生以下异常。清除任何无效字体的 Fonts.SystemFontFamilies 的最佳方法是什么?

'file:///C:/Program Files (x86)/Common Files/Adobe/SING/AssocCache/Generic.otf' 文件不符合预期的文件格式规范。

0 投票
1 回答
8264 浏览

.net - 将 ComboBox 绑定到 IList 并使用 SelectedValue

我的ComboBox设置如下,(如果重要的话)KVPList在哪里:IListKeyValuePair

然后我设置了一个绑定SelectedValue,绑定到一个BindingSource(到一个DataSet)。无论出于何种原因,在显示表单时组合框总是显示为空白。但是,它已正确填充(IList显示的值很好并且可以选择)。

现在,我已尽我所能进行追踪,它似乎在绑定时最初正确设置了 SelectedValue,但随后在某处它被重置为null. 我也玩过事情被调用的顺序,但无济于事。

任何人都可以对此有所了解或提出解决方法吗?

作为记录,在同一个表单上,我在同一个表单上还有另一个ComboBox,它SelectedValue绑定到同一个BindingSource. DataSource是 a ,而DataSet不是 an IList,它就像一个魅力。DataTable从中制作 a 可能是一种选择IList,但它似乎有很多额外的开销;我正在IList从枚举中生成。

0 投票
5 回答
9423 浏览

c# - Winform 上的 C# 组合框是否有更新前

我来自 VBA 世界,记得BeforeUpdate我可以在组合框上拨打电话。现在我在 C# 中(并且喜欢它),我想知道在 Winform 上是否有BeforeUpdate调用ComboBoxa ?

我可以制作一个不可见的文本框并将我需要的信息存储在那里,更新后,查看该框以获取我需要的内容,但我希望有一个更简单的解决方案。

0 投票
6 回答
30068 浏览

winforms - 流布局面板中控件的重新排序

我在 C# winform 应用程序中使用 flowlayoutPanel 时遇到问题。我基本上拥有的是一个包含 3 个部分的流程布局面板。

第 #1 节是一组 2 个控件 .. 两个下拉控件,它们始终以相同的顺序排列,在所有实例中始终可见

第 2 部分是一组 5 个不同的控件...基于一系列因素,5 个控件中的 1 个变为可见,所有其他控件的 Visible 属性设置为 false

第 3 节是一组 3 个控件 .. 与第 1 节一样,它们始终以相同的顺序排列并且始终可见。

所以这归结为第 2 部分是可变的,其他部分是静态的。

问题出现在第 #2 节...当我更改任何控件的可见性时,它们看起来都很好(IE ... 第 1 节然后第 2 节然后第 3 节)...除了我将组合框控件设置为可见....在这种情况下,并且仅在这种情况下..订单变为(第 1 节然后第 3 节然后第 2 节)...我无法弄清楚是什么导致排序不同步那个案子。

我基本上在我的方法开始时所做的是将所有控件设置为 Visible = false ... 然后我设置第 1 节 Visible = true ... 然后循环通过第 2 节的条件并设置适当的控件 Visible = true 最后设置第 3 节控件可见 = true。

有人对流布局面板控件排序有任何经验吗?我无法弄清楚 ComboBox 发生了什么。

0 投票
1 回答
3069 浏览

c# - 带有图像的组合框 - 将值传递给 drawItem 事件

我有一个带有组合框的 C# 应用程序。我以通常的方式向其中添加项目,使用循环遍历一些对象并将每个名称属性值添加到组合框:

但后来我决定要通过文本显示图像,所以我更改了 drawMode 和 dropDownStyle 并在 drawItem 上设置了一个事件处理程序,以先绘制图像然后绘制文本。

图像绘制正确,然后出现问题。我正在使用类似的东西

我无法将 object.name 值放入 DrawString 参数中。DrawItemEventArgs 对象 e 是否具有该值,如果是,我如何访问它?

如果不是,我真正的选择是什么?我似乎有一些示例维护一个列表以保留值,然后使用 e.Index 引用它。这真的是最好的方法吗?

提前致谢

0 投票
1 回答
38031 浏览

c# - C# 更新绑定到通用列表的组合框

我的表单上有一个组合框,它绑定到这样的通用字符串列表:

然后用户可以在组合框中添加或删除项目。
我在其他地方读到,通过简单地添加或删除通用列表中的项目,组合框的内容应该会自动更新;如果我在上面使用 Sort() 也会发生同样的事情。
但由于某种原因,我无法完成这项工作。我可以看到组合框的 DataSource 属性在我添加/删除/排序项目时正确更新,但组合框中显示的内容不是 DataSource 属性中的内容。

我肯定错过了什么或做错了什么。
提前致谢!

编辑:
我选择的答案解决了添加和删除的问题,但是无法对 BindingList 对象进行排序,这对我来说是必要的。我找到了一个解决方案,其中通过继承 BindingList 并添加排序功能来构建自定义类,但我想知道在我的情况下是否有更简单的解决方案。
有关如何轻松解决此问题的任何建议?

0 投票
1 回答
4494 浏览

c# - 组合框 SelectedIndex 无法重置

我的表单上有一个组合框。如果我选择 ui 中的第 5 个项目,然后以编程方式将所选索引设置为 -1,看起来所选项目已重置 - 不显示文本,如果我用鼠标查看项目,第一项是项目索引为零。但如果我点击向下箭头按钮,则所选项目将是第六个!ComboBox 不知何故记得最后一个选定的项目是第 5 个,并且不关心我重置它。这个问题有什么解决办法吗?我会责怪一些有约束力的东西,但我不确定为什么会这样。

0 投票
1 回答
1468 浏览

vb.net - 如何从组合框中的存储 linq 过程中加载数据?

我在 dbml 文件中有存储过程,我想做这样的事情

但我有一个空引用异常。如何以正确的方式做到这一点?

GetAsDateList() 过程是

0 投票
2 回答
2998 浏览

c# - 更改 ItemsSource 后,如何让 Silverlight ComboBox 调整下拉列表的大小?

网上有很多关于此问题的帖子,其中 ComboBox 仅更改其下拉高度以适应其第一个下拉列表中的项目。对所示项目的任何更改都不会导致下拉菜单调整大小。我发现的各种解决方法似乎对我不起作用,所以我想知道是否有人找到了解决这个问题的方法。

我当前的选择是使用 MinHeight 并将其设置为合理的大小(如果我设置 MinHeight 和 MaxHeight,我会遇到与设置 Height 相同的问题 - 当项目超出范围时没有滚动条。

我试过改变物品的容器,但似乎它们都有这个问题。有任何想法吗?

请注意,每当我按照几个论坛的指示更改 ItemsSource 时,我也尝试以编程方式重新创建组合,但我无法让它在不崩溃的情况下工作。