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