繁体   English   中英

如何使ListView中的列动态扩展?

[英]How to make the columns in a ListView expand dynamically?

ColumnHeader header = new ColumnHeader();
header.Text = "";
header.Name = "col1";

listView1.Columns.Add(header);
listView1.View = View.Details;
listView1.Scrollable = true;

readableRss = RssReader.covertRss("http://rotter.net/rss/rotternews.xml");

lines = Regex.Split(readableRss, "\r\n")
                   .Where(str => !string.IsNullOrEmpty(str))
                   .ToList();

for (int i = 0; i < lines.Count; i++)
{
    listView1.Items.Add(lines[i]);
}

这就是我得到的:

在此处输入图片说明

我需要使用鼠标将Column / s移至右侧,这样我才能看到所有的行。 我如何使其自动运行,以便该列的每一行都将在右侧展开/打开,从而显示整行?

添加以下行: header.Width = 1000 ; 解决这个问题。 但是我怎么知道要设置多少呢? 在这种情况下,1000为好,但为什么不为999或1500? 我只是猜测宽度应该是1000

您需要使用ColumnHeaderAutoResize方法,该方法将

按照调整大小样式调整列的宽度。

所以,像这样

header.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);

添加该行以根据内容调整列的大小:

header.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);

添加所有项目后,需要添加它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM