1. 程式人生 > >C# ListView用法詳解 很完整

C# ListView用法詳解 很完整

http://blog.csdn.net/xiaohan2826/article/details/8603015

一、ListView類

          1、常用的基本屬性:

        (1)FullRowSelect:設定是否行選擇模式。(預設為false) 提示:只有在Details檢視該屬性才有意義。

        (2) GridLines:設定行和列之間是否顯示網格線。(預設為false)提示:只有在Details檢視該屬性才有意義。

        (3)AllowColumnReorder:設定是否可拖動列標頭來對改變列的順序。(預設為false)提示:只有在Details檢視該屬性才有意義。

        (4)View:獲取或設定項在控制元件中的顯示方式,包括Details、LargeIcon、List、SmallIcon、Tile(預設為 LargeIcon)

        (5)MultiSelect:設定是否可以選擇多個項。(預設為false)

                  Clickable:列標頭的作用類似於按鈕,單擊時可以執行操作(例如排序)。

                  NonClickable:列標頭不響應滑鼠單擊。

                  None:不顯示列標頭。

        (7)

LabelEdit:設定使用者是否可以編輯控制元件中項的標籤,對於Detail檢視,只能編輯行第一列的內容。(預設為false)

        (8)CheckBoxes:設定控制元件中各項的旁邊是否顯示覆選框。(預設為false)

        (9)LargeImageList:大圖示集。提示:只在LargeIcon檢視使用。

        (10)SmallImageList:小圖示集。提示:只有在SmallIcon檢視使用。

        (11)StateImageList:影象蒙板。這些影象蒙板可用作LargeImageList和SmallImageList影象的覆蓋圖,這些影象可用於指示項的應用程式定義的狀態。(暫時不大懂)

        (13)CheckedItems:獲取控制元件中當前複選框選中的項。

        (14)Soritng:對列表檢視的項進行排序。(預設為None)

                    Ascending:項按遞增順序排序。

                    Descending:項按遞減順序排序。

                    None:項未排序。

         (15)Scrollable:設定當沒有足夠空間來顯示所有項時是否顯示滾動條。(預設為true)

         (16)HoverSelection:設定當滑鼠指標懸停於項上時是否自動選擇項。(預設為false)

         (17)HotTracking:設定當滑鼠指標經過項文字時,其外觀是否變為超連結的形式。(預設為false)

         (18)HideSelection:設定選定項在控制元件沒焦點時是否仍突出顯示。(預設為false)

         (19)ShowGroups:設定是否以分組方式顯示項。(預設為false);

         (20)Groups:設定分組的物件集合。

          (21)TopItem:獲取或設定控制元件中的第一個可見項,可用於定位。(效果類似於EnsureVisible方法)

           2、常用方法:

          (1)BeginUpdate:避免在呼叫EndUpdate 方法之前描述控制元件。當插入大量資料時,可以有效地避免控制元件閃爍,並能大大提高速度。

          (2)

          (3)

          (4)FindItemWithText:查詢以給定文字值開頭的第一個 ListViewItem。

           (5)FindNearestItem:按照指定的搜尋方向,從給定點開始查詢下一個項。提示:只有在LargeIcon或SmallIcon檢視才能使用該方法。

            3、常用事件:

         (3)ColumnClick:當用戶在列表檢視控制元件中單擊列標頭時發生。

   二、ListView的五種檢視:

        1、LargeIcon:每個項都顯示為一個最大化圖示,在它的下面有一個標籤。(效果見下圖)

         2、SmallIcon:每個項都顯示為一個小圖示,在它的右邊帶一個標籤。(效果見下圖)

         3、List:每個項都顯示為一個小圖示,在它的右邊帶一個標籤。各項排列在列中,沒有列標頭。(效果見下圖)

         4、Details:可以顯示任意的列,但只有第一列可以包含一個小圖示和標籤,其它的列項只能顯示文字資訊,有列表頭。(效果見下圖)

         5、Tile:每個項都顯示為一個完整大小的圖示,在它的右邊帶項標籤和子項資訊。(只有Windows XP 和 Windows Server 2003 系列支援)

        ①Details檢視:

            this.listView1.SmallImageList = this.imageList1;  //將listView的圖示集與imageList1繫結

         (1)列表頭建立(記得,需要先建立列表頭)       

  1. ColumnHeader  ch= new ColumnHeader(); 
  2. nbsp;ch.Text = "列標題1";   //設定列標題
  3. ch.Width = 120;    //設定列寬度
  4. ch.TextAlign = HorizontalAlignment.Left;   //設定列的對齊方式
  5. this.listView1.Columns.Add(ch);    //將列頭新增到ListView控制元件。
  1. ColumnHeader  ch= new ColumnHeader();  
  2. ch.Text = "列標題1";   //設定列標題
  3. ch.Width = 120;    //設定列寬度
  4. ch.TextAlign = HorizontalAlignment.Left;   //設定列的對齊方式
  5. this.listView1.Columns.Add(ch);    //將列頭新增到ListView控制元件。

                          或者

  1. this.listView1.Columns.Add("列標題1", 120,  HorizontalAlignment.Left); //一步新增
  1. this.listView1.Columns.Add("列標題1", 120,  HorizontalAlignment.Left); //一步新增
       (2)新增資料項
  1. this.listView1.BeginUpdate();   //資料更新,UI暫時掛起,直到EndUpdate繪製控制元件,可以有效避免閃爍並大大提高載入速度
  2. for (int i = 0; i < 10; i++)   //新增10行資料
  3.      ListViewItem lvi = new ListViewItem(); 
  4.      lvi.ImageIndex = i;     //通過與imageList繫結,顯示imageList中第i項圖示
  5.      lvi.Text = "subitem" + i; 
  6.      lvi.SubItems.Add("第2列,第"+i+"行"); 
  7.      lvi.SubItems.Add("第3列,第"+i+"行"); 
  8.      this.listView1.Items.Add(lvi); 
  9. this.listView1.EndUpdate();  //結束資料處理,UI介面一次性繪製。
  1. this.listView1.BeginUpdate();   //資料更新,UI暫時掛起,直到EndUpdate繪製控制元件,可以有效避免閃爍並大大提高載入速度
  2. for (int i = 0; i < 10; i++)   //新增10行資料
  3. {  
  4.     ListViewItem lvi = new ListViewItem();  
  5.     lvi.ImageIndex = i;     //通過與imageList繫結,顯示imageList中第i項圖示
  6.     lvi.Text = "subitem" + i;  
  7.     lvi.SubItems.Add("第2列,第"+i+"行");  
  8.     lvi.SubItems.Add("第3列,第"+i+"行");  
  9.     this.listView1.Items.Add(lvi);  
  10. }  
  11. this.listView1.EndUpdate();  //結束資料處理,UI介面一次性繪製。
          (3)顯示項
  1. foreach (ListViewItem item inthis.listView1.Items) 
  2.       for (int i = 0; i < item.SubItems.Count; i++) 
  3.       { 
  4.           MessageBox.Show(item.SubItems[i].Text); 
  5. 相關推薦

    C# ListView用法 完整

    http://blog.csdn.net/xiaohan2826/article/details/8603015 一、ListView類           1、常用的基本屬性:         (1)FullRowSelect:設定是否行選擇模式。(預設為

    C# ListView用法

    ont 結束 server 發生 匹配 鼠標 之前 小圖標 order 一、ListView類 1、常用的基本屬性: (1)FullRowSelect:設置是否行選擇模式。(默認為false) 提示:只有在Details視圖該屬性才有意義

    C# ListView用法(轉)

    分組 創建 cti 排列 checkbox 定義 com 程序 erl 一、ListView類 1、常用的基本屬性: (1)FullRowSelect:設置是否行選擇模式。(默認為false) 提示:只有在Details視圖該屬性才有

    C/C++ typedef用法(真的詳細)

    是p2++出錯了。這個問題再一次提醒我們:typedef和#define不同,它不是簡單的文字替換。上述程式碼中const pStr p2並不等於const char * p2。const pStr p2和const long x本質上沒有區別,都是對變數進行只讀限制,只不過此處變數p2的資料型別是我們自

    C++ string 用法--原作者是Nicolai M.Josuttis

    任何人對本文進行引用都要標明作者是Nicolai M.Josuttis /////////////////////////////////////////////////////////////////////////////////// C++ 語言是個十分優秀的語言,但優秀並不表

    C++ vector用法

    vector 是向量型別,它可以容納許多型別的資料,如若干個整數,所以稱其為容器。vector 是C++ STL的一個重要成員,使用它時需要包含標頭檔案: #include<vector>; 一、vector 的初始化:可以有五種方式,舉例說明如下:

    C/C++ typedef用法

    第一、四個用途 用途一: 定義一種型別的別名,而不只是簡單的巨集替換。可以用作同時宣告指標型的多個物件。比如: char* pa, pb; // 這多數不符合我們的意圖,它只聲明瞭一個指向字元變數的指標,  // 和一個字元變數; 以下則可行: typedef char*

    C#-using用法

        ③可以有多個物件與 using 語句一起使用,但是必須在 using 語句內部宣告這些物件。        using (Font font3=new Font("Arial",10.0f), font4=new Font("Arial",10.0f))       {           // Us

    c++vector用法

         用法:           1.檔案包含:                 首先在程式開頭處加上#include<vector>以包含所需要的類檔案vector           還有一定要加上using namespace std;           2.變數宣告:      

    c++ pair 用法

    標準庫型別--pair型別定義在utility標頭檔案中定義 1、pair的建立和初始化 pair包含兩個數值,與容器一樣,pair也是一種模板型別。但是又與之前介紹的容器不同,在建立pair物件時,必須提供兩個型別名,兩個對應的型別名的型別不必相同 pair<string,string>a

    C++ set 用法

    set 是數學中“集合”概念的實現,故 set 中不會存在任意兩個相同的元素。 定義 set<int> set_1 初始化 由於 set 中不允許有重複的元素,故 set 物件只接受列表初始化(C11 標準支援),如 set<int> set

    C++ string 用法

    任何人對本文進行引用都要標明作者是Nicolai M.Josuttis /////////////////////////////////////////////////////////////////////////////////// C++ 語言是個十分優秀的語言,但

    jstl標籤: c:Foreach用法

    為迴圈控制,它可以將集合(Collection)中的成員循序瀏覽一遍。運作方式為當條件符合時,就會持續重複執行的本體內容。 語法語法1:迭代一集合物件之所有成員 <c:forEach [var="varName"] items="collection" [varSta

    關於c:forEach用法

    轉載於:http://blog.csdn.net/honey_claire/article/details/7664165在JSP的開發中,迭代是經常要使用到的操作。例如,逐行的顯示查詢的結果等。在早期的JSP中,通常使用Scriptlets來實現Iterator或者Enum

    C++中virtual(虛函數)的用法

    sla margin tar 實現 store ocs rfs hud iuc int128除法怎麽實現? 怎麽求十億個64位整數的平均數? C語言是否正在走下坡路 看幾遍了 老是1error, 求大神幫忙!!! 狗lKst頻1e甘邪攪http://jz.docin

    C#中的IDisposable模式用法

    數據庫 nor 是否 entry block 記錄日誌 自定義 技術分享 ssa 本文實例講述了C#中IDisposable模式的用法,針對垃圾資源的回收進行了較為詳細的講解。分享給大家供大家參考之用。具體方法如下: 首先,對於垃圾回收而言,在C#中,托管資源的垃圾回收是

    C# List<T>用法

    知新樹 寧金峰 所屬命名空間:System.Collections.Generic public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnu

    C#中常見的系統內置委托用法

    dal lock 遞歸 ble sco 結合 靈活運用 並排 同時 一般來說,C#在公共語言運行時(CLR)環境中系統為我們內置了一些常用的委托,包括Action類的委托、Func類的委托、Predicate<T>委托、Comparison<T>委

    C#中const用法

    htm 鏈接 服務器 span img body 用法詳解 -s 設計 本文實例講述了C#中const用法。分享給大家供大家參考。具體用法分析如下: const是一個c語言的關鍵字,它限定一個變量不允許被改變。使用const在一定程度上可以提高程序的安全性和可靠性,另外,

    C#中HttpWebRequest的用法

    網站 default 編碼方式 對數 c# toarray collect acc like 本文實例講述了C#中HttpWebRequest的用法。分享給大家供大家參考。具體如下: HttpWebRequest類主要利用HTTP 協議和服務器交互,通常是通過 GET 和