【发布时间】:2025-12-22 15:30:10
【问题描述】:
我正在使用的ListView 有两个问题。
我的ListView 设置为ListViewView.View = List,我正在通过ListView.Items.Add(string) 添加一些项目。
第一个,我注意到对于比ListView 本身的宽度更宽的文本项,没有水平滚动错误,我似乎找不到启用它的方法。
第二个是要选择一个项目,我需要选择项目本身的一部分,而不是项目所在的行。换句话说,如果我有一个长度非常小的项目,我可以' t单击该行上的任意位置来选择它,我必须单击它。
这是我看到的代码:
listView1.Items.Add("aaaabbbbccccddddffffeeeegggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz");
listView1.Items.Add("a");
从上图中可以看出,没有滚动条,Index[0] 上的文本长度比ListView 的宽度宽得多
同样在Index[1] 上,文本只是一个a,要选择它,我必须直接单击a 顶部,而不是该行中的任何其他位置。
有没有办法轻松解决这两个问题?
另外,我使用 ListView 的原因是我想将图像添加到项目中。
谢谢。
【问题讨论】:
-
为什么需要 ListView?为什么不使用 ListBox?
-
这是在列表模式下设置列表视图的副产品。如果您使用详细信息模式,则可以避免这种情况。
-
@YacoubMassad 原始问题最后说明了为什么要使用 ListView:我需要将图像放在行上的文本旁边。你不能(很容易)用 ListBox 做到这一点。
-
我认为使用
Detail而不是List作为View会更适合您的需求。ListView有一个FullRowSelect属性可能会对您有所帮助。 -
真实数据中不会有一两个空格来允许换行吗?