winforms 设置列表视图项宽度

nkoocmlb  于 2022-11-17  发布在  其他
关注(0)|答案(3)|浏览(209)

我有一个列表视图,它只有一列。视图设置为列表,我可以看到每个列表视图项,但不能选择该项的行,我必须选择该项的文本。是否可以使列表视图项的宽度与列表视图本身的宽度相同,以便用户可以单击列表视图项上的任何位置来选择该项?
我试着搜索,但只能找到如何更改列宽以及如何在XAML中修复它,但这是针对WinForm的。
Edit -根据请求,这是由Visual Studio设计器生成得代码.它是ListviewItem涉及得唯一代码.

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;
rur96b6h

rur96b6h1#

Better ListViewBetter ListView Express(free)支持此功能。默认情况下,它的行为类似于ListBox(详细信息视图,无列):

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

betterListView.AutoSizeItemsInDetailsView = true;
yfwxisqw

yfwxisqw2#

设置列表视图1。完整行选择= true

bvjxkvbb

bvjxkvbb3#

一个简单的解决方案是使用列表框而不是列表视图
如果是简单文本,最好使用ListBox。

更新日期:

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

相关问题