listview 控件
1. 常用属性设置
-外观
FullRowSelect: True //选中整行
GridLines: True //显示网格线
View: Details
2. 选中整行触发的事件
ItemSelectionChanged
在该事件函数中可以使用 mylistView.FocusedItem来引用你所选中的item。
值得注意的是该时间函数当item由选中变成未选中,会被调用一次;在item由未选中变为选中时又会被调用一次。
故,当你在你的listview里有item 1切换到item 2时,该时间函数会被调用2次。此时,你可以用listView手控.FocusedItem.Selected == true来过滤其中一次调用。
例码如下:
private void listView手控_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { if (listView手控.FocusedItem.Selected) { button_手控修改.Enabled = true; button__手控删除.Enabled = true; } else { button_手控修改.Enabled = false; button__手控删除.Enabled = false; } }
2、清空列表数据
listview.clear(),使用此方法从 ListView 控件中移除所有的项和列;
listview.items.clear(),使用此方法从ListView控件中清除所有的记录;
3、添加数据到listView1
foreach (Solder item in listSolder) { ListViewItem lt = new ListViewItem(); lt.Text = item.MinPackMtNo.ToString(); lt.SubItems.Add(item.WONO.ToString()); listView1.Items.Add(lt); }
4、获取listview中选中一行的值
1 private void listView1_ItemSelectionChanged(object sender,EventArgs e) 2 { if (listView1.SelectedItems.Count == 0) return; 3 else 4 { 5 string site = listView1.SelectedItems[0].Text; 6 string type = listView1.SelectedItems[0].SubItems[1].Text; 7 } 8 }
//选中点击那一行的第一列的值,索引值必须是0,而且无论点这一行的第几列,选中的都是这一行第一列的值 ,如果想获取这一行除第一列外的值,则用subitems获取,[]中为索引,从1开始。