C# WinForm ListView控件用法详解
一、屬性
View屬性(視圖屬性)
LargeIcon - 每個項都顯示為一個最大化圖標,標簽在下。
SmallIcon - 每個項都顯示為一個小圖標,標簽居右。
List - 每個項都顯示為一個小圖標,標簽居右,沒有列標頭。
Details - 可以細節顯示,但只有第一列可以包含一個小圖標和標簽,并且 第一列不可以設置居中屬性。
Tile - 每個項都顯示為一個完整大小的圖標,標簽居右。
常用屬性
FullRowSelect - 指示當項被選中時,其所有子項是否同該項一起突出顯示。僅在“Details”視圖中顯示。
HeaderStyle - “Details”視圖中列標頭的樣式。(None - 不顯示列標頭,Nonclickable - 不可點擊,Clickable - 可點擊)
HideSelection - 當控件沒有焦點時,移除選定項的突出顯示。
CheckBoxes - 指示復選框是否顯示在項旁邊。
GridLines - 在項和子項周圍顯示網格線。僅在“Details”視圖中顯示。
MultiSelect - 允許選擇多項。
AllowColumnReorder - 設置是否可拖動列標頭來對改變列的順序。僅在 “Details”視圖中顯示。
LabelEdit - 設置用戶是否可以編輯控件中項的標簽,對于“Details”視 圖,只能編輯行第一列的內容。
SelectedItems - 獲取在控件中選定的項。
CheckedItems - 獲取控件中當前復選框選中的項。
Soritng - 對列表視圖的項進行排序。(Ascending - 項按遞增順序排序,Descending - 項按遞減順序排序,None - 項未排序)
Scrollable - 設置當沒有足夠空間來顯示所有項時是否顯示滾動條。
HoverSelection - 設置當鼠標指針懸停于項上時是否自動選擇項。
ShowGroups - 設置是否以分組方式顯示項。
二、用法
1、列表頭創建
ColumnHeader ?ch= new ColumnHeader(); ch.Text = "列標題1"; ??//設置列標題 ch.Width = 120; ???//設置列寬度 ch.TextAlign = HorizontalAlignment.Left; ??//設置列的對齊方式 this.listView1.Columns.Add(ch); ???//將列頭添加到ListView控件。 //或者: this.listView1.Columns.Add("列標題1", 120, ?HorizontalAlignment.Left); //一步添加?2、添加數據項???????????
this.listView1.BeginUpdate(); //數據更新,UI暫時掛起,直到EndUpdate繪制控件,可以有效避免閃爍并大大提高加載速度 for (int i = 0; i < 10; i++) ??//添加10行數據{ListViewItem lvi = new ListViewItem();lvi.ImageIndex = i; ????//通過與imageList綁定,顯示imageList中第i項圖標lvi.Text = "subitem" + i;lvi.SubItems.Add("第2列,第"+i+"行");lvi.SubItems.Add("第3列,第"+i+"行");this.listView1.Items.Add(lvi);}this.listView1.EndUpdate(); ?//結束數據處理,UI界面一次性繪制。3、?顯示項
foreach (ListViewItem item in this.listView1.Items){for (int i = 0; i < item.SubItems.Count; i++){MessageBox.Show(item.SubItems[i].Text);}}4、?移除某項
foreach (ListViewItem lvi in listView1.SelectedItems) //選中項遍歷{listView1.Items.RemoveAt(lvi.Index); // 按索引移除//listView1.Items.Remove(lvi); //按項移除}5、行高設置
ImageList imgList = new ImageList();imgList.ImageSize = new Size(1, 20);// 設置行高 20 //分別是寬和高listView1.SmallImageList = imgList; //這里設置listView的SmallImageList ,用imgList將其撐大6 、清空??
this.listView1.Clear(); //從控件中移除所有項和列(包括列表頭)。this.listView1.Items.Clear(); //只移除所有的項。總結
以上是生活随笔為你收集整理的C# WinForm ListView控件用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 医疗:HIS(1)
- 下一篇: 个人笔记-C#txt文本分割器