我正在努力想弄清楚如何在列表视图中列出一个带有值的按钮,以便与每个值一起使用。
我需要用Buttons替换所有添加/编辑字符串值。最初的任务是列表框,但我认为唯一的方法是通过listview项目的子项目。感谢。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.DefinedClassesLb.Columns.Add("Samples", 90);
this.DefinedClassesLb.Columns.Add("AddEdit", 60);
this.DefinedClassesLb.Columns.Add("Delete", 45);
ListViewItem item = new ListViewItem("1");
item.SubItems.Add("add/edit");
item.SubItems.Add("x");
this.DefinedClassesLb.Items.Add(item);
ListViewItem item2 = new ListViewItem("2");
item2.SubItems.Add("add/edit");
item2.SubItems.Add("x");
this.DefinedClassesLb.Items.Add(item2);
ListViewItem item3 = new ListViewItem("3");
item3.SubItems.Add("add/edit");
item3.SubItems.Add("x");
this.DefinedClassesLb.Items.Add(item3);
ListViewItem item4 = new ListViewItem("4");
item4.SubItems.Add("add/edit");
item4.SubItems.Add("x");
this.DefinedClassesLb.Items.Add(item4);
ListViewItem item5 = new ListViewItem("5");
item5.SubItems.Add("add/edit");
item5.SubItems.Add("x");
this.DefinedClassesLb.Items.Add(item5);
ListViewItem item6 = new ListViewItem("6");
item6.SubItems.Add("add/edit");
item6.SubItems.Add("x");
this.DefinedClassesLb.Items.Add(item6);
ListViewItem item7 = new ListViewItem("7");
item7.SubItems.Add("add/edit");
item7.SubItems.Add("x");
this.DefinedClassesLb.Items.Add(item7);
this.DefinedClassesLb.View = View.Details;
this.DefinedClassesLb.HeaderStyle = ColumnHeaderStyle.None;
}
}
答案 0 :(得分:0)
ListView
控件是其他控件的可怕主机。它根本不适合他们。具体而言,它不能正确处理焦点,并且最特别地不提供用于子控件的可滚动面板。最后一个问题是真正的杀手。
您的选择是:
根据建议,使用DataGridView
。
使用ObjectListView
。这是一个围绕标准.NET ListView的开源包装器,它赋予它超强的功能!像displaying buttons!
即使在这里,按钮也没有被托管 - 控件本身做了很多工作,使一些东西看起来像一个按钮。