ListView属性用于获取或设置项在控件中的显示方式。有以下几种
//每项显示在不同的行上,并带有关于列中所排列的各项的进一步信息。最左边的列包含一个小图标和标签,后面的类包含应用程序指定的子项。列显示一个标头,她可以显示列的标题。
listView1.View = View.Details;
//每个项都显示为一个最大化图标,在他的下面有一个标签
listView1.View = View.LargeIcon;
//每个项都显示一个小图标,在它的右边带有一个标签。各项排列在列中,没有列标头
listView1.View = View.List;
//每个项都显示为一个小图标,在它的右边带一个标签
listView1.View = View.SmallIcon;
示例
在窗体设计器中加GroupBox,RadioButton,Label,TextBox,ListView
public Form1()
{
InitializeComponent();
listView1.View = View.Details;
listView1.LabelEdit = true;//允许编辑项目文本,只能编辑第一列
listView1.AllowColumnReorder = true;//允许重新排序各列
listView1.CheckBoxes = true;//允许显示复选框
listView1.FullRowSelect = true;//选取时选取项目和子项
listView1.GridLines = true;//显示网格线
listView1.Sorting = SortOrder.Ascending;//排序
listView1.MultiSelect = true;//允许多重选择
listView1.LargeImageList = this.imageList1;//设置项目的图标
listView1.SmallImageList = this.imageList1;
//增加“姓名”列,宽度为200
listView1.Columns.Add("姓名", 200, HorizontalAlignment.Left);
listView1.Columns.Add("年龄", 100, HorizontalAlignment.Left);
listView1.Columns.Add("性别", 100, HorizontalAlignment.Left);
listView1.Columns.Add("工资", 200, HorizontalAlignment.Left);
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
listView1.View = View.Details;
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
listView1.View = View.LargeIcon;
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
listView1.View = View.List;
}
private void radioButton4_CheckedChanged(object sender, EventArgs e)
{
listView1.View = View.SmallIcon;
}
private void radioButton5_CheckedChanged(object sender, EventArgs e)
{
//listView1.View = View.Tile;
}
private void button1_Click(object sender, EventArgs e)
{
//添加列表项
ListViewItem item = listView1.Items.Add(textBox1.Text);
item.ImageIndex = 0;//指定图标
//添加子项
item.SubItems.Add(textBox2.Text);
item.SubItems.Add(textBox3.Text);
item.SubItems.Add(textBox4.Text);
}
private void button2_Click(object sender, EventArgs e)
{
//删除选择项
int count = listView1.SelectedIndices.Count;
for(int i=count-1;i>=0;--i)
{
listView1.Items.RemoveAt(listView1.SelectedIndices[i]);
}
}
private void button3_Click(object sender, EventArgs e)
{
listView1.Items.Clear();//删除所有
}