C# 列表视图中的多行文字
我试图使winform包含ListView作为详细信息(ListView1.View=“Details”) 此ListView有2个子项,我需要包装字符串并将其放入子项 我不能使用任何组件或用户控件,如TableXP或 我使用以下代码:C# 列表视图中的多行文字,c#,winforms,listview,C#,Winforms,Listview,我试图使winform包含ListView作为详细信息(ListView1.View=“Details”) 此ListView有2个子项,我需要包装字符串并将其放入子项 我不能使用任何组件或用户控件,如TableXP或 我使用以下代码: lstShares.Columns.Add("Share Name",100); lstShares.Columns.Add("Path",300); lstShares.View = View.Details; ManagementObjectSearcher
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,则任何内容都不会像下图所示那样更改
有人知道吗?
TNX.您可以使用“\n”字符换行到列表项文本的下一行,例如:
listView1.Items.Add("apples\noranges\nbananas");
listView1.Items.Add("kiwis\ngrapefruits\nwatermelons");
您可以实现这样的功能
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);
考虑改用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" });
}
结果:
我不明白。你可以添加一张你想要实现的图片或者发布相关代码吗。