//2005年10月9日
//代碼編寫:方誌洪
//ListView標頭的代碼創建方法。
ColumnHeader title=new ColumnHeader(); //聲明標頭,並創建對象。
title.Text="標頭1名稱"; //標頭一顯示的名稱。
title.Width=120; //標頭一名稱 的寬度。
this.listView1.Columns.Add(title); //將標頭添加到ListView控件。
title=new ColumnHeader(); //注意,如果創建新標頭必須 使用New創建新對象。
title.Text="標頭2名稱";
this.listView1.Columns.Add(title); //標頭2我只設置名稱,未設置寬度,這是允許的。
//ListView控件中項的建立
ListViewItem lvItem; //ListViewItem 成員,初學者可以暫時把該項理解爲在Details模式中的一整行信息
ListViewItem.ListViewSubItem lvSubItem; //表示 ListViewItem 的子項,也就是ListViewItem一行中的一列信息。
lvItem=new ListViewItem();
lvItem.Text="第一列信息";
lvItem.Tag="與該項相關聯的信息的對象"; //Tag可以付任何對象的值,比如字符串,數值型...我經常用該項保存調用數據庫時不用顯示的編號信息。
lvItem.ImageIndex=0; //如果你添加了imageslist控件並設置了關聯,在此可以選擇需要顯示的圖標。
lvSubItem=new System.Windows.Forms.ListViewItem.ListViewSubItem();
lvSubItem.Text="第二列信息"; //聲明及設置Item的子項。
lvItem.SubItems.Add(lvSubItem); //將子項添加到Item中。
//如果需要添加第2,3.....個子項需要重複上面的代碼,聲明一個添加一個。如:
//lvSubItem=new System.Windows.Forms.ListViewItem.ListViewSubItem();
//lvSubItem.Text="第三列信息";
//lvItem.SubItems.Add(lvSubItem);
//一點建議:在添加ListView中項的時候如果項較多可以使用
//this.listView1.BeginUpdate();
//......(添加Item項代碼).
//this.listView1.EndUpdate();
//以便添加完項目後一次更新ListView控件。
//下面介紹ListView控件讀取當前選擇行的代碼
private void listView1_Click(object sender, System.EventArgs e) //ListView控件點擊事件
{
if(this.listView1.SelectedItems!=null) //判斷ListView控件是否有項目選中
{
this.label5.Text=this.listView1.SelectedItems[0].Tag.ToString(); //讀取Item中的Tag信息。
this.textBox1.Text=this.listView1.SelectedItems[0].SubItems[1].Text ; //讀取Item子項信息。
this.textBox2.Text=this.listView1.SelectedItems[0].SubItems[2].Text;
this.textBox3.Text=this.listView1.SelectedItems[0].SubItems[3].Text;
}
}
//在這裏對SelectedItems屬性介紹一下,該屬性代表ListView選中的行,
//[0]就是選中的第一個,因爲ListView控件允許一次選中多個行,
//所以[0]代表第一個選中,[1]代表二個選中,依次類推。
//SelectedItems.Count屬性可返回目前選中行的數目。
//SelectedItems[0].SubItems[1]中SubItems代表的就是Item的子項,也就是上面代碼
//lvSubItem=new System.Windows.Forms.ListViewItem.ListViewSubItem();
//lvSubItem.Text="第二列信息";
//創建的內容。
//最後介紹一個常用的就是當前選擇項的刪除。
if(this.listView1.SelectedItems!=null)
{
this.listView1.SelectedItems[0].Remove();
}
//提示:在讀取和刪除中如果需要多重選擇的項進行處理可以使用For循環,如for(int i=0;i<SelectedItems.Count;i++)。
//如有任何問題,歡迎在底下的評論中留言.
//SleepingPig 方誌洪 2005年10月9日。