Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在组合框中隐藏文本_C#_Winforms_Combobox - Fatal编程技术网

C# 在组合框中隐藏文本

C# 在组合框中隐藏文本,c#,winforms,combobox,C#,Winforms,Combobox,我有一个WinForms组合框,其中datasouce设置为自定义类的列表。我将这些项目显示为颜色(基于类中的属性),并且只希望显示颜色(即无文本)。我通过DrawItem事件在下拉列表中将项目显示为颜色,但这不适用于组合框本身(下拉列表以外的部分)。我尝试过将前景颜色更改为透明,但也没有成功。我真正想要的是一个comboBox.DisplayMember=“无”或类似的东西 实现这一目标的最佳方式是什么 编辑:所以经过一番修改,我找到了一个解决方案:向类中添加一个“None”属性,如下所示:

我有一个WinForms组合框,其中datasouce设置为自定义类的列表。我将这些项目显示为颜色(基于类中的属性),并且只希望显示颜色(即无文本)。我通过DrawItem事件在下拉列表中将项目显示为颜色,但这不适用于组合框本身(下拉列表以外的部分)。我尝试过将前景颜色更改为透明,但也没有成功。我真正想要的是一个
comboBox.DisplayMember=“无”或类似的东西

实现这一目标的最佳方式是什么

编辑:所以经过一番修改,我找到了一个解决方案:向类中添加一个“None”属性,如下所示:

public string None
{
    get
    {
        return "";
    }
}

然后我就可以执行
comboBox.DisplayMember=“None”就像我之前提到的。但我认为问题仍然存在:有没有更好的方法?

您可以使用
DrawItem
事件将ComboBox控件作为颜色选择器来显示和选择颜色,而且ComboBox控件还有一个名为
DrawMode
的属性,用于确定操作系统或代码是否将处理图形列表中项目的名称。必须使用属性窗口将此属性设置为
OwnerDrawFixed
,才能调用
DrawItem
事件实现


您可以阅读有关

的更多信息。您可以使用
DrawItem
事件将ComboBox控件作为颜色选择器来显示和选择颜色。ComboBox控件还有一个名为
DrawMode
的属性,用于确定操作系统或代码是否将处理列表中项目的绘制。必须使用属性窗口将此属性设置为
OwnerDrawFixed
,才能调用
DrawItem
事件实现

您可以阅读更多关于

的信息,因为我的“伪解决方案”似乎是这里最好的解决方案,我将它复制到这里:

由于我的comboBox中的项属于自定义类,因此我向该类添加了另一个属性:

public string None
{
    get
    {
        return "";
    }
}
我设置了
comboBox.DisplayMember=“无”。这实现了我一直在寻找的结果

因为我的“伪解决方案”似乎是这里最好的解决方案,我将它复制到这里:

由于我的comboBox中的项属于自定义类,因此我向该类添加了另一个属性:

public string None
{
    get
    {
        return "";
    }
}

我设置了
comboBox.DisplayMember=“无”。这达到了我想要的结果

您想显示为空显示成员吗?@WillyDavidJr-Yes。我希望每个组合框项目的文本都为空这可能是一个愚蠢的问题,但是你是否尝试将前景设置为白色而不是透明?啊,尝试过。。。选择颜色保持不变。是否显示为空显示成员?@WillyDavidJr是。我希望每个组合框项目的文本都为空这可能是一个愚蠢的问题,但是你是否尝试将前景设置为白色而不是透明?啊,尝试过。。。选择颜色保持不变。是的,我已经知道了(参考了同一篇文章)。但这是我的问题:(我不想看到文本)是的,我已经知道了(引用了同一篇文章)。但我的问题是:(我不想让文本可见)