日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

Visual C# 2010 实现资源管理器

發布時間:2025/7/14 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual C# 2010 实现资源管理器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

演練:使用設計器創建帶有 ListView 和 TreeView 控件的資源管理器樣式的界面

Visual Studio 2010 其他版本 此主題尚未評級?-?評價此主題

?

Visual Studio 的一個優點是能夠在短時間內創建具有專業級外觀的 Windows 窗體應用程序。?通常情況下,創建一個帶有?ListView??TreeView?控件的用戶界面 (UI),該界面類似于 Windows 操作系統的 Windows 資源管理器。?Windows 資源管理器顯示了用戶計算機上的文件和文件夾的層次結構。

注意

顯示的對話框和菜單命令可能會與“幫助”中的描述不同,具體取決于您現用的設置或版本。?若要更改設置,請在“工具”菜單上選擇“導入和導出設置”?有關更多信息,請參見?使用設置。

創建包含 ListView 和 TreeView 控件的窗體

  • “文件”菜單上指向“新建”,再單擊“項目”

  • “新建項目”對話框中,請執行以下操作:

  • 在類別中選擇“Visual Basic”“Visual C#”

  • 在模板列表中,選擇“Windows 窗體應用程序”

  • 單擊“確定”?隨即便會創建一個新的 Windows 窗體項目。

  • 向該窗體添加一個?SplitContainer?控件,并將其?Dock?屬性設置為?Fill。

  • 向該窗體中添加一個名為?imageList1??ImageList,然后使用“屬性”窗口按所列順序添加兩個圖像:一個文件夾圖像和一個文檔圖像。

  • 向該窗體添加一個名為?treeview1??TreeView?控件,將其置于?SplitContainer?控件的左側。??treeView1?的“屬性”窗口中,執行以下操作:

  • ?Dock?屬性設置為?Fill。

  • ?ImageList?屬性設置為?imagelist1

  • 向該窗體中添加一個名為?listView1??ListView?控件,將其置于?SplitContainer?控件的右側。??listview1?的“屬性”窗口中,執行以下操作:

  • ?Dock?屬性設置為?Fill。

  • ?View?屬性設置為?Details。

  • 單擊?Columns?屬性中的橢圓 (),以打開 ColumnHeader 集合編輯器。添加三列,并將其?Text?屬性分別設置為?NameType??Last Modified?單擊“確定”關閉對話框。

  • ?SmallImageList?屬性設置為?imageList1

  • 實現代碼以便將節點和子節點填充到?TreeView?中。?將該代碼添加到?Form1?類中。

    C# VB private void PopulateTreeView(){TreeNode rootNode;DirectoryInfo info = new DirectoryInfo(@"../..");if (info.Exists){rootNode = new TreeNode(info.Name);rootNode.Tag = info;GetDirectories(info.GetDirectories(), rootNode);treeView1.Nodes.Add(rootNode);}}private void GetDirectories(DirectoryInfo[] subDirs, TreeNode nodeToAddTo){TreeNode aNode;DirectoryInfo[] subSubDirs;foreach (DirectoryInfo subDir in subDirs){aNode = new TreeNode(subDir.Name, 0, 0);aNode.Tag = subDir;aNode.ImageKey = "folder";subSubDirs = subDir.GetDirectories();if (subSubDirs.Length != 0){GetDirectories(subSubDirs, aNode);}nodeToAddTo.Nodes.Add(aNode);}}
  • 由于以前的代碼使用 System.IO 命名空間,因此需要在窗體頂部添加 using 或 import 語句。

    C# VB using System.IO;
  • 在窗體的構造函數或?Load?事件處理方法中,調用上一步中的設置方法。?將該代碼添加到窗體構造函數中。

    C# VB public Form1(){InitializeComponent();PopulateTreeView();}
  • 處理?treeview1??NodeMouseClick?事件,實現代碼以便在單擊某個節點時,用該節點的內容來填充?listview1?將該代碼添加到?Form1?類中。

    C# VB void treeView1_NodeMouseClick(object sender,TreeNodeMouseClickEventArgs e) {TreeNode newSelected = e.Node;listView1.Items.Clear();DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;ListViewItem.ListViewSubItem[] subItems;ListViewItem item = null;foreach (DirectoryInfo dir in nodeDirInfo.GetDirectories()){item = new ListViewItem(dir.Name, 0);subItems = new ListViewItem.ListViewSubItem[]{new ListViewItem.ListViewSubItem(item, "Directory"), new ListViewItem.ListViewSubItem(item, dir.LastAccessTime.ToShortDateString())};item.SubItems.AddRange(subItems);listView1.Items.Add(item);}foreach (FileInfo file in nodeDirInfo.GetFiles()){item = new ListViewItem(file.Name, 1);subItems = new ListViewItem.ListViewSubItem[]{ new ListViewItem.ListViewSubItem(item, "File"), new ListViewItem.ListViewSubItem(item, file.LastAccessTime.ToShortDateString())};item.SubItems.AddRange(subItems);listView1.Items.Add(item);}listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);}

    如果使用的是 C#,請確保將?NodeMouseClick?事件與其事件處理方法相關聯。?將該代碼添加到窗體構造函數中。

    C# this.treeView1.NodeMouseClick += new TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick);
  • 測試應用程序

    現在可以測試窗體,以確保它的行為與預期相同。

    測試窗體

    • 按 F5 運行應用程序。

      您將看到一個包含?TreeView?控件的拆分窗體,該窗體左側顯示您的項目目錄,右側是分為三列的?ListView?控件。?選擇目錄節點可以遍歷?TreeView,而?ListView?中將填充選定目錄的內容。

    轉載于:https://www.cnblogs.com/txw1958/archive/2012/07/30/2616074.html

    總結

    以上是生活随笔為你收集整理的Visual C# 2010 实现资源管理器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。