组合框在有焦点时不显示项目

时间:2014-07-19 17:40:35

标签: c# winforms combobox

我在winform上有两个组合框,都是通过设计器拖到表面上,两者都从数据库中获取它们都连接到dbase并正确填充。但其中一个,当它有焦点时,所选项目不可见;所有可以看到的是蓝色背景突出显示。我比较了两者的属性,无法辨别任何不同的设置,这可能会导致这种情况。当组合框失去焦点时,显示所选项目,白色背景上的黑色前景如预期的那样。

1 个答案:

答案 0 :(得分:0)

查看显示成员中的数据。这可能以空白/空格结束。 当使用SQL数据库中的数据集填充组合框时,我遇到了同样的问题。 更改select语句以删除前导和尾随空格后,它按预期工作。

对我的解释: 编辑/拥有焦点时,组合框会在反向视频中显示右对齐的文本。如果文本以很多空格结束,如果您的SQL数据库具有固定长度字段,并在末尾填充空格,则结果是它显示值末尾的空格(右对齐)。如果删除select-query中的空格(在MSSQL中这是由ltrim(rtrim()完成的),因为所选项目的文本末尾没有填充空格,因此它显示文本(反向视频),直到焦点丢失了。