C#资源管理器源码(带图标显示),思归、橙子鸟 、斑主

    技术2022-05-11  49

    <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

    C#资源管理器源码(带图标显示),思归、橙子鸟 、斑主请进,大家请进。

        粘上一篇拙作,供大家评头论足。听说思归先生德才兼备。很想得到您的指正。看到橙子鸟先生的言论。很是新鲜,是非自有公论。我虽不赞美,却也不反感。特请橙子鸟先生进来一骂。但要骂的具体。例“xx句太臭”。我也喜欢菜鸟的吹棒,毕竟顺耳。总之,欢迎评头论足。吹棒使我信心倍加,骂声使我清醒努力。     请问斑主,怎样才能增加分,我的分不多,还有好多问题请教大家。是不是发表点什么就可以得分。如认为我有所贡献,请多给我些分。先谢了。

        顺便请教大家一个问题如下:     float f1 = 2.11111f;     dc.DrawString(f1.ToString(),font,brush,8,8);    在第一个参数中我想输出小数点后2位,而不是5位。该怎么截掉后3位。

     

    //C#资源管理器源码using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.IO;using System.Runtime.InteropServices;

    namespace myTree{ /// <summary> /// Form1 的摘要说明。 /// </summary>  public class Form1 : System.Windows.Forms.Form  {    private System.Windows.Forms.ImageList TreeImageList;    private System.Windows.Forms.MainMenu mainMenu1;    private System.Windows.Forms.MenuItem menuItem1;    private System.Windows.Forms.ListView listView1;    private System.Windows.Forms.TextBox textBox1;    private System.Windows.Forms.TreeView treeView1;    private System.Windows.Forms.Panel panel2;    private System.Windows.Forms.Panel panel1;    private System.Windows.Forms.Splitter splitter1;    private System.Windows.Forms.Button button1;    private System.Windows.Forms.ImageList LisrimageList;    private System.Windows.Forms.ImageList LisrimageList2;    private System.Windows.Forms.StatusBar statusBar1;    private System.Windows.Forms.StatusBarPanel statusBarPanel1;    private System.Windows.Forms.StatusBarPanel statusBarPanel2;    private System.Windows.Forms.MenuItem menuItem2;    private System.Windows.Forms.MenuItem menuItem3;    private System.Windows.Forms.MenuItem menuItem4;    private System.Windows.Forms.MenuItem menuItem5;    private System.Windows.Forms.MenuItem menuItem6;    private System.Windows.Forms.MenuItem menuItem7;    private System.Windows.Forms.Label label1;    private System.ComponentModel.IContainer components;

     public Form1() {   //   // Windows 窗体设计器支持所必需的   //   InitializeComponent();

       Icon ic0=myExtractIcon("%SystemRoot%/system32/shell32.dll",15);   TreeImageList.Images.Add(ic0);   Icon ic1=myExtractIcon("%SystemRoot%/system32/shell32.dll",5);   TreeImageList.Images.Add(ic1);   Icon ic2=myExtractIcon("%SystemRoot%/system32/shell32.dll",7);   TreeImageList.Images.Add(ic2);   Icon ic3=myExtractIcon("%SystemRoot%/system32/shell32.dll",11);   TreeImageList.Images.Add(ic3);

       Icon ic4=myExtractIcon("%SystemRoot%/system32/shell32.dll",3);   TreeImageList.Images.Add(ic4);   Icon ic5=myExtractIcon("%SystemRoot%/system32/shell32.dll",4);   TreeImageList.Images.Add(ic5);   Icon ic6=myExtractIcon("%SystemRoot%/system32/shell32.dll",101);   TreeImageList.Images.Add(ic6);

       GetDrive(); }

     /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) {   if( disposing )   {  if (components != null)   {    components.Dispose();  }   }   base.Dispose( disposing ); }

      #region Windows Form Designer generated code /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() {   this.components = new System.ComponentModel.Container();   this.TreeImageList = new System.Windows.Forms.ImageList(this.components);   this.mainMenu1 = new System.Windows.Forms.MainMenu();   this.menuItem1 = new System.Windows.Forms.MenuItem();   this.menuItem2 = new System.Windows.Forms.MenuItem();   this.menuItem3 = new System.Windows.Forms.MenuItem();   this.menuItem4 = new System.Windows.Forms.MenuItem();   this.menuItem5 = new System.Windows.Forms.MenuItem();   this.menuItem6 = new System.Windows.Forms.MenuItem();   this.menuItem7 = new System.Windows.Forms.MenuItem();   this.listView1 = new System.Windows.Forms.ListView();   this.textBox1 = new System.Windows.Forms.TextBox();   this.treeView1 = new System.Windows.Forms.TreeView();   this.panel2 = new System.Windows.Forms.Panel();   this.label1 = new System.Windows.Forms.Label();   this.button1 = new System.Windows.Forms.Button();   this.panel1 = new System.Windows.Forms.Panel();   this.splitter1 = new System.Windows.Forms.Splitter();   this.LisrimageList = new System.Windows.Forms.ImageList(this.components);   this.LisrimageList2 = new System.Windows.Forms.ImageList(this.components);   this.statusBar1 = new System.Windows.Forms.StatusBar();   this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel();   this.statusBarPanel2 = new System.Windows.Forms.StatusBarPanel();   this.panel2.SuspendLayout();   this.panel1.SuspendLayout();   ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit();   ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).BeginInit();   this.SuspendLayout();   //    // TreeImageList   //    this.TreeImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;   this.TreeImageList.ImageSize = new System.Drawing.Size(16, 16);   this.TreeImageList.TransparentColor = System.Drawing.Color.Transparent;   //    // mainMenu1   //    this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {                     this.menuItem1,                     this.menuItem2,                     this.menuItem3,                     this.menuItem4});   //    // menuItem1   //    this.menuItem1.Index = 0;   this.menuItem1.Text = "文件";   //    // menuItem2   //    this.menuItem2.Index = 1;   this.menuItem2.Text = "编辑";   //    // menuItem3   //    this.menuItem3.Index = 2;   this.menuItem3.Text = "显隐";   this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);   //    // menuItem4   //    this.menuItem4.Index = 3;   this.menuItem4.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {                     this.menuItem5,                     this.menuItem6,                     this.menuItem7});   this.menuItem4.Text = "列表方式";   //    // menuItem5   //    this.menuItem5.Index = 0;   this.menuItem5.Text = "大图标";   this.menuItem5.Click += new System.EventHandler(this.menuItem5_Click);   //    // menuItem6   //    this.menuItem6.Index = 1;   this.menuItem6.Text = "小图标";   this.menuItem6.Click += new System.EventHandler(this.menuItem6_Click);   //    // menuItem7   //    this.menuItem7.Index = 2;   this.menuItem7.Text = "详细列表";   this.menuItem7.Click += new System.EventHandler(this.menuItem7_Click);   //    // listView1   //    this.listView1.Activation = System.Windows.Forms.ItemActivation.OneClick;   this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;   this.listView1.Location = new System.Drawing.Point(221, 25);   this.listView1.Name = "listView1";   this.listView1.Size = new System.Drawing.Size(491, 381);   this.listView1.TabIndex = 3;   this.listView1.View = System.Windows.Forms.View.SmallIcon;   this.listView1.ItemActivate += new System.EventHandler(this.listView1_ItemActivate);   //    // textBox1   //    this.textBox1.Dock = System.Windows.Forms.DockStyle.Top;   this.textBox1.Name = "textBox1";   this.textBox1.Size = new System.Drawing.Size(712, 25);   this.textBox1.TabIndex = 5;   this.textBox1.Text = "";   //    // treeView1   //    this.treeView1.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)   | System.Windows.Forms.AnchorStyles.Left)   | System.Windows.Forms.AnchorStyles.Right);   this.treeView1.ImageIndex = -1;   this.treeView1.ItemHeight = 18;   this.treeView1.Location = new System.Drawing.Point(0, 29);   this.treeView1.Name = "treeView1";   this.treeView1.SelectedImageIndex = -1;   this.treeView1.Size = new System.Drawing.Size(216, 349);   this.treeView1.TabIndex = 1;   this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect_1);   this.treeView1.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView1_BeforeExpand_1);   //    // panel2   //    this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;   this.panel2.Controls.AddRange(new System.Windows.Forms.Control[] {                   this.label1,                   this.button1});   this.panel2.Dock = System.Windows.Forms.DockStyle.Top;   this.panel2.Name = "panel2";   this.panel2.Size = new System.Drawing.Size(216, 28);   this.panel2.TabIndex = 0;   //    // label1   //    this.label1.Dock = System.Windows.Forms.DockStyle.Left;   this.label1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));   this.label1.Name = "label1";   this.label1.Size = new System.Drawing.Size(56, 24);   this.label1.TabIndex = 1;   this.label1.Text = "文件夹";   this.label1.TextAlign = System.Drawing.ContentAlignment.BottomLeft;   //    // button1   //    this.button1.Dock = System.Windows.Forms.DockStyle.Right;   this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;   this.button1.Location = new System.Drawing.Point(188, 0);   this.button1.Name = "button1";   this.button1.Size = new System.Drawing.Size(24, 24);   this.button1.TabIndex = 0;   this.button1.Text = "X";   this.button1.Click += new System.EventHandler(this.button1_Click);   //    // panel1   //    this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] {                   this.treeView1,                   this.panel2});   this.panel1.Dock = System.Windows.Forms.DockStyle.Left;   this.panel1.Location = new System.Drawing.Point(0, 25);   this.panel1.Name = "panel1";   this.panel1.Size = new System.Drawing.Size(216, 381);   this.panel1.TabIndex = 6;   //    // splitter1   //    this.splitter1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;   this.splitter1.Location = new System.Drawing.Point(216, 25);   this.splitter1.Name = "splitter1";   this.splitter1.Size = new System.Drawing.Size(5, 381);   this.splitter1.TabIndex = 7;   this.splitter1.TabStop = false;   //    // LisrimageList   //    this.LisrimageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;   this.LisrimageList.ImageSize = new System.Drawing.Size(16, 16);   this.LisrimageList.TransparentColor = System.Drawing.Color.Transparent;   //    // LisrimageList2   //    this.LisrimageList2.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;   this.LisrimageList2.ImageSize = new System.Drawing.Size(16, 16);   this.LisrimageList2.TransparentColor = System.Drawing.Color.Transparent;   //    // statusBar1   //    this.statusBar1.Location = new System.Drawing.Point(0, 406);   this.statusBar1.Name = "statusBar1";   this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {                      this.statusBarPanel1,                      this.statusBarPanel2});   this.statusBar1.Size = new System.Drawing.Size(712, 22);   this.statusBar1.TabIndex = 8;   this.statusBar1.Text = "statusBar1";   //    // statusBarPanel1   //    this.statusBarPanel1.BorderStyle = System.Windows.Forms.StatusBarPanelBorderStyle.None;   this.statusBarPanel1.Text = "statusBarPanel1";   this.statusBarPanel1.Width = 132;   //    // statusBarPanel2   //    this.statusBarPanel2.BorderStyle = System.Windows.Forms.StatusBarPanelBorderStyle.None;   this.statusBarPanel2.Text = "statusBarPanel2";   this.statusBarPanel2.Width = 132;   //    // Form1   //    this.AutoScaleBaseSize = new System.Drawing.Size(8, 18);   this.ClientSize = new System.Drawing.Size(712, 428);   this.Controls.AddRange(new System.Windows.Forms.Control[] {                  this.listView1,                  this.splitter1,                  this.panel1,                  this.textBox1,                  this.statusBar1});   this.Menu = this.mainMenu1;   this.Name = "Form1";   this.Text = "我的资源管理器--曲郑生设计--2002.9";   this.panel2.ResumeLayout(false);   this.panel1.ResumeLayout(false);   ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit();   ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).EndInit();   this.ResumeLayout(false);

     }  #endregion

     /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main()  {   Application.Run(new Form1()); }

    //************************************************************************************* [DllImport("Shell32.dll")]  public static extern int ExtractIcon(IntPtr h,string strx,int ii);

     [DllImport("Shell32.dll")]  public static extern int SHGetFileInfo(string pszPath,uint dwFileAttributes,ref SHFILEINFO psfi,uint cbFileInfo, uint uFlags);

     public struct SHFILEINFO {    public IntPtr hIcon;     public int   iIcon;     public uint dwAttributes;   public char szDisplayName;    public char szTypeName;  } 

     string strFilePath="";//*************************************************************************************   protected virtual Icon myExtractIcon(string FileName,int iIndex) {   try   {  IntPtr hIcon=(IntPtr)ExtractIcon(this.Handle,FileName,iIndex);  if(! hIcon.Equals(null))  {    Icon icon=Icon.FromHandle(hIcon);    return icon;  }   }   catch(Exception ex)   { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}    return null; }//*************************************************************************************

     protected virtual void SetIcon(ImageList imageList,string FileName,bool tf) {   SHFILEINFO fi=new SHFILEINFO();   if(tf==true)   {  int iTotal=(int)SHGetFileInfo(FileName,0,ref fi,100,  16640);//SHGFI_ICON|SHGFI_SMALLICON  try  {    if(iTotal >0)    {   Icon ic=Icon.FromHandle(fi.hIcon);   imageList.Images.Add(ic);   //return ic;    }  }  catch(Exception ex)  { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}    }   else   {  int iTotal=(int)SHGetFileInfo(FileName,0,ref fi,100,  257);  try  {    if(iTotal >0)    {   Icon ic=Icon.FromHandle(fi.hIcon);   imageList.Images.Add(ic);   //return ic;    }  }  catch(Exception ex)  { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}    }   // return null; }//*************************************************************************************

     public void GetDrive() {   treeView1.ImageList=TreeImageList;     treeView1.BeginUpdate();   treeView1.Nodes.Clear();

       TreeNode RootNode=new TreeNode("我的电脑",0,0);   treeView1.Nodes.Add(RootNode);    int iImageIndex=2;  int iSelectedIndex=2;   string[] astrDrives = Directory.GetLogicalDrives();

       foreach (string str in astrDrives)   {  if(str == "A:/")  { iImageIndex=1;  iSelectedIndex=1;}  else if(str == "G:/")  { iImageIndex=3;  iSelectedIndex=3;}  else   { iImageIndex=2;  iSelectedIndex=2;}

      TreeNode tnDrive = new TreeNode(str, iImageIndex,iSelectedIndex);  treeView1.Nodes[0].Nodes.Add(tnDrive);  AddDirectories(tnDrive);

      if(str == "C:/")  { treeView1.SelectedNode=tnDrive;}   }   treeView1.EndUpdate(); }//*************************************************************************************

     void AddDirectories(TreeNode tn) {   tn.Nodes.Clear();

       string strPath=tn.FullPath;   strPath=strPath.Remove(0,5);

       //获得当前目录   DirectoryInfo   dirinfo = new DirectoryInfo(strPath);   DirectoryInfo[] adirinfo;   try   {  adirinfo = dirinfo.GetDirectories();   }   catch   { return;}

          int iImageIndex=4;  int iSelectedIndex=5;   foreach (DirectoryInfo di in adirinfo)   {  if(di.Name=="RECYCLER"||di.Name=="RECYCLED"||di.Name=="Recycled")  {iImageIndex=6;  iSelectedIndex=6;}  else   {iImageIndex=4;  iSelectedIndex=5;}

      TreeNode tnDir = new TreeNode(di.Name, iImageIndex, iSelectedIndex);  tn.Nodes.Add(tnDir);   }

    /*   //获得当前目录下的所有文件    FileInfo[] dirFiles;   dirFiles=dirinfo.GetFiles();   int iCount=7;

       foreach (FileInfo fi in dirFiles)   {  //得到每个文件的图标  string str=fi.FullName;  try  {    SetIcon(TreeImageList,str,false);  }  catch(Exception ex)  { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}          TreeNode tnDir = new TreeNode(fi.Name, iCount, iCount);  tn.Nodes.Add(tnDir);

      iCount++;   }*/ }//************************************************************************************* //在大图标、小图标、详细列表切换时调用 protected virtual void ListViewAB(int iii) {   if(iii==1)   {  LisrimageList2.ImageSize=new Size(32,32);  listView1.LargeImageList=LisrimageList2;     if(listView1.View==View.Details||listView1.View==View.SmallIcon)  {listView1.View=View.LargeIcon;}   }   else if(iii==2)   {  if(listView1.View==View.Details||listView1.View==View.LargeIcon)  {listView1.View=View.SmallIcon;}   }   else   {  if(listView1.View==View.LargeIcon||listView1.View==View.SmallIcon)  {listView1.View=View.Details;}   } }//************************************************************************************* private void treeView1_BeforeExpand_1(object sender, System.Windows.Forms.TreeViewCancelEventArgs e) {   //base.OnBeforeExpand(e);

       treeView1.BeginUpdate();

       foreach (TreeNode tn in e.Node.Nodes)   { AddDirectories(tn);}

       treeView1.EndUpdate(); }

    //*************************************************************************************

     protected virtual void InitList(TreeNode tn) {   this.statusBarPanel1.Text="正在刷新文件夹,请稍等.....";   this.Cursor=Cursors.WaitCursor;

       this.LisrimageList2.Images.Clear();   this.LisrimageList.Images.Clear();   listView1.SmallImageList=LisrimageList;   Icon ic0=myExtractIcon("%SystemRoot%/system32/shell32.dll",3);   LisrimageList.Images.Add(ic0);。   LisrimageList2.Images.Add(ic0);

       listView1.Clear();   //设置列表框的表头   listView1.Columns.Add("文件名",160,HorizontalAlignment.Left);   listView1.Columns.Add("文件大小",120,HorizontalAlignment.Left);   listView1.Columns.Add("创建时间",120,HorizontalAlignment.Left);   listView1.Columns.Add("访问时间",200,HorizontalAlignment.Left);

         string strPath=tn.FullPath;   strPath=strPath.Remove(0,5);   //获得当前目录下的所有文件    DirectoryInfo curDir=new DirectoryInfo(strPath);//创建目录对象。   FileInfo[] dirFiles;   try   {     dirFiles=curDir.GetFiles();   }   catch  { return;}

       string []arrSubItem=new string[4];   //文件的创建时间和访问时间。   int iCount=0;    int iconIndex=1;//用1,而不用0是要让过0号图标。   foreach(FileInfo fileInfo in dirFiles)   {  string strFileName=fileInfo.Name;                         //如果不是文件pagefile.sys  if(! strFileName.Equals("pagefile.sys"))  {    arrSubItem[0]=strFileName;    arrSubItem[1]=fileInfo.Length+" 字节";    arrSubItem[2]=fileInfo.CreationTime.ToString();    arrSubItem[3]=fileInfo.LastAccessTime.ToString();  }  else  { arrSubItem[1]="未知大小"; arrSubItem[2]="未知日期"; arrSubItem[3]="未知日期";}  

          //得到每个文件的图标  string str=fileInfo.FullName;  try  {    SetIcon(LisrimageList,str,false);    SetIcon(LisrimageList2,str,true);  }  catch(Exception ex)  { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}       

           //插入列表项      ListViewItem LiItem=new ListViewItem(arrSubItem,iconIndex);  listView1.Items.Insert(iCount,LiItem);

      iCount++;   iconIndex++;   }   strFilePath=strPath;   textBox1.Text=strPath;   this.statusBarPanel1.Text=strPath;   this.statusBarPanel2.Text="文件数量: " + iCount.ToString()+"个";   this.Cursor=Cursors.Arrow;

     

       //以下是向列表框中插入目录,不是文件。获得当前目录下的各个子目录。   int iItem=0;

       DirectoryInfo Dir=new DirectoryInfo(strPath);   foreach(DirectoryInfo di in Dir.GetDirectories())   {        ListViewItem LiItem=new ListViewItem(di.Name,0);  listView1.Items.Insert(iItem,LiItem);  iItem++;   }

     }  //*************************************************************************************

     protected virtual void InitList2(string strName) {   this.statusBarPanel1.Text="正在刷新文件夹,请稍等.....";   this.Cursor=Cursors.WaitCursor;

       this.LisrimageList2.Images.Clear();   this.LisrimageList.Images.Clear();   listView1.SmallImageList=LisrimageList;   Icon ic0=myExtractIcon("%SystemRoot%/system32/shell32.dll",3);   LisrimageList.Images.Add(ic0);   LisrimageList2.Images.Add(ic0);

       listView1.Clear();   //设置列表框的表头   listView1.Columns.Add("文件名",160,HorizontalAlignment.Left);   listView1.Columns.Add("文件大小",120,HorizontalAlignment.Left);   listView1.Columns.Add("创建时间",120,HorizontalAlignment.Left);   listView1.Columns.Add("访问时间",200,HorizontalAlignment.Left);

         //获得当前目录下的所有文件    DirectoryInfo curDir=new DirectoryInfo(strName);//创建目录对象。   FileInfo[] dirFiles;   try   {  dirFiles=curDir.GetFiles();   }   catch  { return;}

       string []arrSubItem=new string[4];   //文件的创建时间和访问时间。   int iCount=0;    int iconIndex=1;//用1,而不用0是要让过0号图标。   foreach(FileInfo fileInfo in dirFiles)   {  string strFileName=fileInfo.Name;                         //如果不是文件pagefile.sys  if(! strFileName.Equals("pagefile.sys"))  {    arrSubItem[0]=strFileName;    arrSubItem[1]=fileInfo.Length+" 字节";    arrSubItem[2]=fileInfo.CreationTime.ToString();    arrSubItem[3]=fileInfo.LastAccessTime.ToString();  }  else  { arrSubItem[1]="未知大小"; arrSubItem[2]="未知日期"; arrSubItem[3]="未知日期";}  

      //得到每个文件的图标  string str=fileInfo.FullName;  try  {    SetIcon(LisrimageList,str,false);    SetIcon(LisrimageList2,str,true);  }  catch(Exception ex)  { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}       

      //插入列表项      ListViewItem LiItem=new ListViewItem(arrSubItem,iconIndex);  listView1.Items.Insert(iCount,LiItem);

      iCount++;   iconIndex++;//必须加在listView1.Items.Insert(iCount,LiItem);   }   strFilePath=strName;//把路径赋值于全局变量strFilePath

       textBox1.Text=strName;   this.statusBarPanel2.Text="文件数量: " + iCount.ToString()+"个";   this.Cursor=Cursors.Arrow;

     

       //以下是向列表框中插入目录,不是文件。获得当前目录下的各个子目录。   int iItem=0;//调用listView1.Items.Insert(iItem,LiItem);时用。不能使用iconIndex。

       DirectoryInfo Dir=new DirectoryInfo(strName);//创建目录对象。   foreach(DirectoryInfo di in Dir.GetDirectories())   {     ListViewItem LiItem=new ListViewItem(di.Name,0);  listView1.Items.Insert(iItem,LiItem);  iItem++;   }

     } //*************************************************************************************

        private void treeView1_AfterSelect_1(object sender, System.Windows.Forms.TreeViewEventArgs e) {   if(e.Node.Text=="我的电脑")       { return;}

       InitList(e.Node); }//*************************************************************************************

        private void button1_Click(object sender, System.EventArgs e) {    this.panel1.Hide(); }//*************************************************************************************

        private void listView1_ItemActivate(object sender, System.EventArgs e) {   string str=Path.Combine(strFilePath,listView1.FocusedItem.Text);   try   {  if(listView1.FocusedItem.SubItems.Count>1)  { System.Diagnostics.Process.Start(str); }  else  { InitList2(str); }   }   catch  { return;} }//************************************************************************************* private void menuItem3_Click(object sender, System.EventArgs e) {   this.panel1.Visible=! panel1.Visible; }//*************************************************************************************    private void menuItem5_Click(object sender, System.EventArgs e) {   ListViewAB(1); }//*************************************************************************************    private void menuItem6_Click(object sender, System.EventArgs e) {   ListViewAB(2); }//*************************************************************************************    private void menuItem7_Click(object sender, System.EventArgs e) {   ListViewAB(3); }//*************************************************************************************

      }}

    <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

    最新回复(0)