列表视图中的多行文本显示

6

我尝试创建一个包含ListView作为详细信息视图的Winform(ListView1.View =“Details”)

这个ListView有2个子项,我需要换行字符串并将其放入子项中。

我不能使用其他人创建的任何组件或用户控件,例如TableXP等。

我使用以下代码:

lstShares.Columns.Add("Share Name",100);
lstShares.Columns.Add("Path",300);
lstShares.View = View.Details;
ManagementObjectSearcher shares = new ManagementObjectSearcher("Select * from Win32_Share");
foreach (ManagementObject share in shares.Get())
{
    lstShares.Items.Add(new ListViewItem(new String[] { share["Name"].ToString(), share["Path"].ToString() + "\n" + "AAAA" }));
}

如果我使用“\n”或Environment.NewLine,任何东西都不会像下面的图片一样改变。有人有想法吗?谢谢。

1
我不明白。你能添加一张你想要实现的图片或者发布相关代码吗? - user2509901
3个回答

11

考虑改用DataGridView控件,它支持文本自动换行:

dgv.AutoGenerateColumns = false;
dgv.RowHeadersVisible = false;
dgv.MultiSelect = false;
dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
dgv.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dgv.Columns.Add(new DataGridViewTextBoxColumn() {
  HeaderText = "Share Name",
  ReadOnly = true,
  AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
  FillWeight = 25
});
dgv.Columns.Add(new DataGridViewTextBoxColumn() {
  HeaderText = "Path",
  ReadOnly = true,
  AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
  FillWeight = 75
});
var shares = new ManagementObjectSearcher("Select * from Win32_Share");
foreach (ManagementObject share in shares.Get()) {
  dgv.Rows.Add(new String[] { share["Name"].ToString(),
                              share["Path"].ToString() + "\n" + "AAAA" });
}

结果:

在此输入图片描述


-2

你可以实现类似这样的东西

ListView lv = new ListView();
lv.Columns.Add("Header", 100);
lv.Columns.Add("Details", 100);
lv.Dock = DockStyle.Fill;
lv.Items.Add(new ListViewItem(new string[] { "Sachin", "Some details" }));
lv.Items.Add(new ListViewItem(new string[] { "Stats", "More details" }));
lv.View = View.Details;
Controls.Add(lv);

-4

您可以使用'\n'字符在列表项文本中换行,例如:

listView1.Items.Add("apples\noranges\nbananas");

listView1.Items.Add("kiwis\ngrapefruits\nwatermelons");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接