首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置Listviewitem的宽度

设置Listviewitem的宽度
EN

Stack Overflow用户
提问于 2013-01-21 02:46:45
回答 2查看 6.5K关注 0票数 0

我有一个Listview,它只有一列。视图设置为List,我可以看到每个Listviewitem,但我不能选择项目的行,我必须选择项目的文本。是否可以使Listviewitem的宽度与Listview本身的大小相同,以便用户可以单击Listviewitem上的任何位置来选择项目?

我尝试过搜索,但只能找到如何在XAML中更改列宽以及如何修复它,但这是针对WinForm的。

编辑-根据要求,这是由Visual Studio设计器生成的代码。这是与ListviewItem相关的唯一代码。

代码语言:javascript
复制
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("1");
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("2");
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem("3");
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("4");
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem("5");
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("6");
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem("7");
this.listView1 = new System.Windows.Forms.ListView();

this.listView1.Activation = System.Windows.Forms.ItemActivation.OneClick;
            this.listView1.AllowDrop = true;
            this.listView1.AutoArrange = false;          
            this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
            this.listView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.listView1.ForeColor = System.Drawing.SystemColors.MenuHighlight;
            this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
            listViewItem1.StateImageIndex = 0;
            this.listView1.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
            listViewItem1,
            listViewItem2,
            listViewItem3,
            listViewItem4,
            listViewItem5,
            listViewItem6,
            listViewItem7});
            this.listView1.Location = new System.Drawing.Point(105, 129);
            this.listView1.Name = "listView1";
            this.listView1.Size = new System.Drawing.Size(157, 475);
            this.listView1.TabIndex = 4;
            this.listView1.UseCompatibleStateImageBehavior = false;
            this.listView1.View = System.Windows.Forms.View.List;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-21 03:11:00

一个简单的解决方案是使用ListBox而不是列表视图

如果是简单的文本,最好使用ListBox。

更新:

在ListView中获得此功能的最简单技巧是在每个要填充的项目字符串的末尾添加虚拟空格。

票数 3
EN

Stack Overflow用户

发布于 2013-02-16 23:37:32

Better ListViewBetter ListView Express (免费)支持这一点。默认情况下,它的行为类似于ListBox (详细信息视图,没有列):

可通过将AutoSizeItemsInDetailsView属性设置为true来触发项目自动调整大小

代码语言:javascript
复制
betterListView.AutoSizeItemsInDetailsView = true;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14427940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档