收藏 分享(赏)

c# listview控件学习.docx

上传人:cjc2202537 文档编号:1195745 上传时间:2018-06-17 格式:DOCX 页数:10 大小:51.73KB
下载 相关 举报
c# listview控件学习.docx_第1页
第1页 / 共10页
c# listview控件学习.docx_第2页
第2页 / 共10页
c# listview控件学习.docx_第3页
第3页 / 共10页
c# listview控件学习.docx_第4页
第4页 / 共10页
c# listview控件学习.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、ListView 控件的常用事件AfterLabelEdit 在編輯了標籤后,引發該事件BeforeLabelEdit 在用戶開始編輯標籤前,引發該事件ColumnClick 單擊一列時,引發該事件ItemActivate 在激活一個選項時,引發該事件其它:列表視圖的選項總是 ListViewItem 類的一個實例。ListViewItems 有一個屬性 SubItems,其中包含另一個類 ListViewSubItem 的實例。ColumnHeader:要使用列表視圖顯示列標題,需要把類 ColumnHeader 的實例添加到 ListView 的Columns 集合加。ImageList

2、控件ImageList 控件提供了一個集合,可以用於存儲在窗體的其它控件中使用的圖像。ListView 使用方法:(在 View.Details 模式下)1、建立 ListView 的標題2、建立 ListView 的 Item3、在 ListView 的 Item 中的建立 SubItem如果將各部分拆分開來的方法為:1、建立 ListView 的標題2、建立 Item3、建立 SubItem4、將 SubItem 加入到 Item 中5、將 Item 加入到 ListView 中注:在 View.Details 模式下,Item 相當於建立主列中的資料; SubItem 相當於建立其它列中

3、的資料。其它模式可以不用建立 SubItem。下邊用例子來學習。如實現下圖功能。代碼:namespace ListViewExercisepublic partial class Form1 : Formpublic Form1()InitializeComponent();ListViewSet();CreateViewItemMethodOne();/CreateViewItemMethodTow();/ / ListView 設置/ privatevoid ListViewSet()/ListView 顯示方式listViewControl.View = View.Details; /

4、/ /手動填加 ListView 方法 1/ privatevoid CreateViewItemMethodOne()listViewControl.BeginUpdate();#region 增加 Item 的標題,共有三個列/1、創建標題listViewControl.Columns.Add(“文件名“ );listViewControl.Columns.Add(“大小“ );listViewControl.Columns.Add(“創建日期“ );#endregion#region 手動填加 ListView 方法/2、增加第一個 Item,在 View.Details 模式下,有點像

5、第一列中一個值listViewControl.Items.Add(“folder1“,“文件夾 1“,0);/3、增加第一個 Item 的第一個 SubItem,在 View.Details 模式下,有點像第一列中一個值listViewControl.Items“folder1“.SubItems.Add(“11“);/增加第一個 Item 的第二個 SubItem,在 View.Details 模式下,有點像第一列中一個值listViewControl.Items“folder1“.SubItems.Add(“20080114“);listViewControl.Items.Add(“fol

6、der2“,“文件夾 2“,0);listViewControl.Items“folder2“.SubItems.Add(“21“);listViewControl.Items“folder2“.SubItems.Add(“20080115“);listViewControl.Items.Add(“文件夾 3“);listViewControl.Items.Add(“文件夾 4“);#endregionlistViewControl.EndUpdate();/ / 手動填加 ListView 方法 2/ privatevoid CreateViewItemMethodTow()#region

7、增加 Item 的標題,共有三個列/1、創建標題,共三列listViewControl.Columns.Add(“文件名“ );listViewControl.Columns.Add(“大小“ );listViewControl.Columns.Add(“創建日期“ );#endregionlistViewControl.BeginUpdate();#region 增加第一個 Item/2、定義一個 ListViewItem,在 View.Details 模式下,有點像第一列中一個值ListViewItem lvItem;/3、定義 ListViewSubItem,在 View.Details

8、 模式下,有點像第二列中一個值ListViewItem.ListViewSubItem lvSubItem;/實列化一個 Item,在 View.Details 模式下,有點像加第一行的第一個值lvItem =new ListViewItem();/Item 的顯示的文字lvItem.Text =“文件夾 1“;/4、Item 增加到 ListView 控件中,即增加第一行。在 View.Details 模式下,有點像增加了第一個項目的第一列的第一個值listViewControl.Items.Add(lvItem);/實例化 SubItemlvSubItem =new ListViewIte

9、m.ListViewSubItem();lvSubItem.Text =“10“;/5、將 SubItem 增加到第一個 Item 中,在 View.Details 模式下,有點像增加了第一個項目的第二列的第一個值lvItem.SubItems.Add(lvSubItem);lvSubItem =new ListViewItem.ListViewSubItem();lvSubItem.Text =“20080114“;/將 SubItem 增加到第一個 Item 中,在 View.Details 模式下,有點像增加了第一個項目的第三列的第一個值lvItem.SubItems.Add(lvSub

10、Item);#endregion#region 增加第二個 ItemlvItem =new ListViewItem();lvItem.Text =“文件夾 2“; lvSubItem =new ListViewItem.ListViewSubItem();lvSubItem.Text =“20“;lvItem.SubItems.Add(lvSubItem);lvSubItem =new ListViewItem.ListViewSubItem();lvSubItem.Text =“20080115“;lvItem.SubItems.Add(lvSubItem);listViewControl

11、.Items.Add(lvItem);#endregionlistViewControl.EndUpdate();例 2:得到指定文件夾下的文件夾及文件名列表。如下圖:代碼:using System.IO;namespace ListViewExercisepublicpartialclass Form1 : Formpublic Form1()InitializeComponent();ListViewSet();GetFolderTreeView(“c:/“);/ ListView 設置/privatevoid ListViewSet()/ListView 顯示方式listViewCont

12、rol.View = View.Details;/項目的雙擊事件listViewControl.ItemActivate +=new EventHandler(listViewControl_ItemActivate);/返回按鈕的事件btnReturn.Click+=new EventHandler(btnReturn_Click);/ 得到目錄中的內容/privatevoid GetFolderTreeView(string asPath)listViewControl.Clear();#region 增加 Item 的標題,共有三個列/創建標題,共三列listViewControl.Co

13、lumns.Add(“文件名“);listViewControl.Columns.Add(“大小“);listViewControl.Columns.Add(“創建日期“);#endregion/開始更新listViewControl.BeginUpdate();DirectoryInfo diInfo =new DirectoryInfo(asPath);DirectoryInfo dirs = diInfo.GetDirectories();FileInfo fiInfo = diInfo.GetFiles();ListViewItem lviItem;ListViewItem.ListV

14、iewSubItem lviSubItem;foreach (DirectoryInfo diin dirs)lviItem =new ListViewItem();lviItem.Text = di.Name;/得到文件夾的路徑lviItem.Tag = di.FullName;lviSubItem =new ListViewItem.ListViewSubItem();/文件夾沒有大小lviSubItem.Text =“;lviItem.SubItems.Add(lviSubItem);lviSubItem =new ListViewItem.ListViewSubItem();lviSu

15、bItem.Text = di.CreationTime.ToString();lviItem.SubItems.Add(lviSubItem);listViewControl.Items.Add(lviItem);foreach (FileInfo fiin fiInfo)lviItem =new ListViewItem();lviItem.Text = fi.Name;lviSubItem =new ListViewItem.ListViewSubItem();lviSubItem.Text = fi.Length.ToString();lviItem.SubItems.Add(lviS

16、ubItem);lviSubItem =new ListViewItem.ListViewSubItem();lviSubItem.Text = fi.CreationTime.ToString();lviItem.SubItems.Add(lviSubItem);listViewControl.Items.Add(lviItem);/結束更新listViewControl.EndUpdate();/ 定義變量存放路徑/string sfileName= “;/ 項目的雙擊事件/void listViewControl_ItemActivate(object sender, EventArgs

17、 e)ListView lvControl = (ListView)sender;sfileName = lvControl.SelectedItems0.Tag.ToString();if (lvControl.SelectedItems0.Tag.ToString()= “)trySystem.Diagnostics.Process.Start(sfileName);catchreturn;elseGetFolderTreeView(sfileName);/ 返回上一級/privatevoid btnReturn_Click(object sender, EventArgs e)/*原理:得到路徑,然后截取最后一個“/“之前的路徑,並將其路徑賦給你路徑變量。再次單擊返回時,截取此變量中最后一個“/“之前的路徑。當獲得不到“/“的位置時說明到達頂層。*/int iPosition= sfileName.LastIndexOf(“/“)+ 1;if (iPosition 0)string sA= sfileName.Substring(0, iPosition);GetFolderTreeView(sA);sfileName = sfileName.Substring(0, iPosition- 1); ;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报