Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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# ListViewItem文本在选择后被截断-压缩框架_C#_Listview_Compact Framework_Listviewitem - Fatal编程技术网

C# ListViewItem文本在选择后被截断-压缩框架

C# ListViewItem文本在选择后被截断-压缩框架,c#,listview,compact-framework,listviewitem,C#,Listview,Compact Framework,Listviewitem,我有一个列表视图,其中包含一些列表视图项(仅文本) 下图是一个示例: 问题是,当我选择其中一项时,文本被截断,如下图所示: 为什么??如何解决此问题?设置以下选项可能会有所不同: ColumnHeader header; 然后,将header.Width属性转换为其他属性,可能会将其抛出 SelectionChanged{}( header.Width = listView.SelectedItem(0).Length; ) 试试看。我只是认为页眉/列宽是在玩弄它的默认设置

我有一个
列表视图
,其中包含一些
列表视图项
(仅文本)

下图是一个示例:

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


为什么??如何解决此问题?

设置以下选项可能会有所不同:

ColumnHeader header; 
然后,将
header.Width
属性转换为其他属性,可能会将其抛出

SelectionChanged{}(  
    header.Width = listView.SelectedItem(0).Length;
)
试试看。我只是认为页眉/列宽是在玩弄它的默认设置方式,或者可能是由您使用
-2

此链接可能有助于列标题:


编辑:

所以我回顾了一些CompactFramework的内容

似乎与同一问题有关

尝试将ColumnWidth属性设置为
-1

listView1.Columns.Add(String.Empty, -1, HorizontalAlignment.Left);
这应将其设置为列中最宽的值。我确实认为-2选项应该起作用,但是试着使用-1,看看它是否起作用

双重编辑:


我们的评论已经转移到
聊天/讨论
,尽管我们无法找出原因。如果有人有建议或知道修复方法,请通知我们

改用此列大小逻辑:

listView1.Columns[0].Width = listView1.Width;

您应该能够手动更改列的宽度。进入设计器模式并手动更改。只需拖动它

您可以检查所选项目样式吗
所选项目Textwrapping=“Wrap”或增加所选项目列宽。
我认为这两者唯一的问题是。

问题是ListViewItem的文本以空格结尾。您必须修剪字符串,然后才能找到解决方案。

这可能是因为列的宽度设置为-2吗?您有这样做的具体原因吗?设置
列标题可能会有所不同
header.Width
属性中添加其他属性,可能会将其放入
SelectionChanged{}(header.Width=listView.SelectedItem(0.Length;
@MartinParkin-2,因为我希望列占用所有可用空间(没有垂直线)。什么版本的紧凑框架?目标平台是什么(WinCE、WinMo等)?@ctacke Compact Framework 3.5和Windows Mobile 6.1Oh,noooo!Hrm,太遗憾了,我会看看是否还能找到其他东西,我应该意识到这是用于Compact的。不幸的是,它没有改变任何东西,我只有一条垂直线(我不想看到)。列是什么时候设置的?是在运行时设置的,还是之后设置的?听起来编译器在错误的时间设置了这些列,或者是在需要它们之前,然后放置数据并且不调整其大小,或者是在
运行时
之后,并且列被初始化为固定大小(默认值,因为尚未添加任何值),然后添加值,但大小保持不变。并且!您是否使用
String.Empty
初始化这些值?这可能就是为什么这些人仍然保持固定大小的原因,因为ColumnWidth保持在String.Empty的大小,因为这是它最初设置的大小。我在UserControl的构造函数中添加了该列,其中包含ListView。列的标题是空字符串。请告诉我们这是否有效!如果您知道为什么会修复它:]我不起作用。我不知道为什么,但我的listView1.Columns[0]。SelectionChanged事件中的宽度为460(而不是-2).My listView1.Width是464,因此如果在事件中添加此代码,我可以看到水平滚动条,但文本仍然被截断。问题不在于列宽(始终相同)。
listView1.Columns[0].Width = listView1.Width;