6

我有ListView一些ListViewItems(只有文字)。

listView1 = new ListView
{
    View = System.Windows.Forms.View.Details,
    HeaderStyle = ColumnHeaderStyle.None
};


listView1.Columns.Add(String.Empty, -2, HorizontalAlignment.Left);

下图是一个示例:

在此处输入图像描述

问题是,当我选择其中一项时,文本会被截断,如下图所示:

在此处输入图像描述

为什么?我怎么解决这个问题?

4

5 回答 5

1

问题是 ListViewItem 的 Text 以空格结尾。你必须 TrimEnd 字符串,你有你的解决方案。

于 2013-04-11T18:55:56.840 回答
0

设置可能会有所不同:

ColumnHeader header; 

然后,把header.Width财产换成别的东西,也许把它扔进去

SelectionChanged{}(  
    header.Width = listView.SelectedItem(0).Length;
)

试一试。我只是在想,标题/列宽正在使用它的默认值,或者可能由您使用-2

此链接可能对 ColumnHeaders 有所帮助:MSDN ColumnHeaders


编辑:

所以我回顾了一些 CompactFramework 的东西。

此链接似乎与同一问题有关。

尝试将您的 ColumnWidth 属性设置为-1

listView1.Columns.Add(String.Empty, -1, HorizontalAlignment.Left);

这应该将其设置为列中最宽的值。我确实看到 -2 选项应该可以工作,但请尝试 -1,看看它是否有所作为。

双重编辑:

我们的评论已移至Chat / Discussion,尽管我们无法弄清楚是什么原因造成的。如果有人有建议或知道修复方法,请告知我们!

于 2013-03-20T16:23:07.820 回答
0

请改用此列大小逻辑:

listView1.Columns[0].Width = listView1.Width;
于 2013-03-20T16:56:26.250 回答
0

您应该能够手动更改列的宽度。进入设计器模式并手动更改。拖着就行

于 2013-04-08T15:37:50.230 回答
0

你能检查 Selected item style 吗?. .
选定项 Textwrapping="Wrap" 或增加选定项列宽。我认为只有这两个问题。

于 2013-04-09T10:19:33.327 回答