【发布时间】:2023-03-27 20:57:01
【问题描述】:
我有一个 WinForms 组合框,其中数据源设置为自定义类的列表。我将这些项目显示为颜色(基于类中的属性)并希望仅显示颜色(即无文本)。我通过 DrawItem 事件在下拉列表中将项目显示为颜色,但这不适用于组合框本身(下拉列表以外的部分)。我尝试将前景颜色更改为透明,但这也不起作用。我真正想要的是comboBox.DisplayMember = "None"; 或类似的东西。
最好的方法是什么?
编辑:经过一番折腾,我找到了一个解决方案:向类添加“None”属性,如下所示:
public string None
{
get
{
return "";
}
}
然后我可以像我之前提到的那样做comboBox.DisplayMember = "None";。但我认为问题仍然存在:有没有更好的方法?
【问题讨论】:
-
你想显示为空显示成员?
-
@WillyDavidJr 是的。我希望每个组合框项目的文本为空
-
可能是一个愚蠢的问题,但您是否尝试将前景设置为白色而不是透明?
-
啊试过了...选择颜色保持不变。