精华内容
下载资源
问答
  • WinForm本地文件浏览

    热门讨论 2012-03-23 15:41:26
    WinForm本地文件浏览 可以浏览本地桌面、任意盘符文件夹.
  • winform打开本地的txt文件并显示在窗体中

    万次阅读 多人点赞 2016-04-19 13:33:51
    基于c#winform 通过选取本地的txt文件,将文件路径及文本内容显示在窗体中。

    一、效果图:. ...

    二、过程如下:

    1.首先创建form窗体,之后需要4个控件(1个button,2个textBox,1个openFileDialog)如图:
      注:button是用来打开txt文件并显示,textbox一个用来显示文件路径,一个用来显示文本内容,openFileDialog是显示打开的对话框。
    2.控件添加后,修改一下2个textBox的属性为只读(readonly=true),因为textbox只是用来显示的,不需要我们输入内容。
    3.然后就主要是button的代码编写。双击button控件进入代码编写。在button控件代码部分编写如下代码:

            private void button2_Click(object sender, EventArgs e)
            {
                OpenFileDialog filename = new OpenFileDialog(); //定义打开文件
                filename.InitialDirectory = Application.StartupPath; //初始路径,这里设置的是程序的起始位置,可自由设置
                filename.Filter = "All files(*.*)|*.*|txt files(*.txt)|*.txt";//设置打开类型,设置个*.*和*.txt就行了
                filename.FilterIndex = 2;                  //文件类型的显示顺序(上一行.txt设为第二位)
                filename.RestoreDirectory = true; //对话框记忆之前打开的目录
                if(filename.ShowDialog() == DialogResult.OK)
                    {
                    textBox1.Text = filename.FileName.ToString();//获得完整路径在textBox1中显示
                    StreamReader sr = new StreamReader(filename.FileName,Encoding.Default);//将选中的文件在textBox2中显示
                    textBox2.Text = sr.ReadToEnd();
                    sr.Close();
                }
            }


    4.运行ok.也可以设置两个button,一个显示路径,一个显示文本内容。或者添加多个文本显示。微笑
    
    
    展开全文
  • 根据网络地址, 比如 http://aaa.c.com/a.doc 本地怎么能用winform浏览a.doc内容
  • //本地上传文件 private void btnUpLoad_Click(object sender, EventArgs e) { //调用ftpUP类的方法UploadFile(FileInfo fileinfo, string targetDir, string hostname, string username, string password, ...

    服务器端 新建aspx页面,部署网站:http://localhost:4944/UploadFileWebSite/Default.aspx

    在Page_Load写入代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            foreach (string f in Request.Files.AllKeys)
            {
                HttpPostedFile file = Request.Files[f];
                file.SaveAs(@"d:\TestFileUP\" + file.FileName);
            }
        }
    }

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
    using System.Net;
    using System.IO;
    using System.Text;
    
    namespace FileUD
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            
            //private void UpLoadFile1(string fileNamePath, string uriString)
            //{
            //    //string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\\") + 1);
            //    string NewFileName = DateTime.Now.ToString("yyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf("."));
    
            //    string fileNameExt = fileNamePath.Substring(fileNamePath.LastIndexOf(".") + 1);
            //    if (uriString.EndsWith("/") == false) uriString = uriString + "/";
    
            //    uriString = uriString + NewFileName;
            //    /**/
            //    /// 创建WebClient实例
            //    WebClient myWebClient = new WebClient();
            //    myWebClient.Credentials = CredentialCache.DefaultCredentials;
    
            //    // 要上传的文件
            //    FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);
            //    //FileStream fs = OpenFile();
            //    BinaryReader r = new BinaryReader(fs);
            //    try
            //    {
            //        //使用UploadFile方法可以用下面的格式
            //        //myWebClient.UploadFile(uriString,"PUT",fileNamePath);
            //        byte[] postArray = r.ReadBytes((int)fs.Length);
            //        Stream postStream = myWebClient.OpenWrite(uriString, "PUT");
            //        if (postStream.CanWrite)
            //        {
            //            postStream.Write(postArray, 0, postArray.Length);
            //        }
            //        else
            //        {
            //            MessageBox.Show("文件目前不可写!");
            //        }
            //        postStream.Close();
            //    }
            //    catch
            //    {
            //        MessageBox.Show("文件上传失败,请稍候重试~");
            //    }
            //}
    
            //浏览文件
            private void btnLL_Click(object sender, EventArgs e)
            {
                //this.openFileDialog1.Filter = "jpg文件(*.jpg)|*.jpg|gif文件(*.gif)|*.gif";
                this.openFileDialog1.Filter = "所有文件(*.*)|*.*";
    
                if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    /*
                    string PicFileName = this.openFileDialog1.FileName;
                    this.imgList.Add(PicFileName);
                    this.imageList1.Images.Add(Image.FromFile(PicFileName));
                     */
                    string FileName = this.openFileDialog1.FileName;
                    txtFileLJ.Text = FileName;                
                }
            }
    
            ///WebClient的UploadFile方法
            public bool uploadFileByHttp(string webUrl,string localFileName)
            {
                // 检查文件是否存在
                if (!System.IO.File.Exists(localFileName)) 
                {
                    MessageBox.Show("请选择需要上传的文件!",localFileName);
                    return false;
                }
                try
                {
                    System.Net.WebClient myWebClient = new System.Net.WebClient();
                    myWebClient.UploadFile(webUrl, "POST", localFileName);
                    MessageBox.Show("上传成功!", "上传状态:", MessageBoxButtons.OKCancel);
                    txtFileLJ.Text = "";
                }
                catch
                {               
                    return false;
                }
               
                finally
                {
                    MessageBox.Show("文件上传出现异常,未能上传成功!");
                }
                return true;
                
            }
    
    
            //本地上传文件
            private void btnUpLoad_Click(object sender, EventArgs e)
            {
                //调用ftpUP类的方法UploadFile(FileInfo fileinfo, string targetDir, string hostname, string username, string password, string fileName)
                /// <param name="fileinfo">需要上传的文件</param>
                /// <param name="targetDir">目标路径</param>
                /// <param name="hostname">ftp地址</param>
                /// <param name="username">ftp用户名</param>
                /// <param name="password">ftp密码</param>
                /// 
                //ftpUP ftp = new ftpUP();
                //ftp.UploadFile();
    
                //UpLoadFile1(txtFileLJ.Text, "192.168.1.104");
                //uploadimg();
    
                //调用UploadFile方法
                //UploadFile(txtFileLJ.Text, txtFileLJ.Text, true);
                this.uploadFileByHttp("http://localhost:4944/UploadFileWebSite/Default.aspx", txtFileLJ.Text);
    
            }
            /// <summary>
            /// 浏览文件夹
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnShowFileInfo_Click(object sender, EventArgs e)
            {
                folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Desktop;
                folderBrowserDialog1.Description = "请选择文件夹";
                DialogResult d = folderBrowserDialog1.ShowDialog();
                if (d == DialogResult.OK)
                {
                    //txtFilesName指的是界面一个文本框获取路径
                    txtFilesName.Text = folderBrowserDialog1.SelectedPath;
                }
                else
                    txtFilesName.Text = "请选择目录!";
            }
            /// <summary>
            /// 退出程序
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnClear_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
            /// <summary>
            /// 浏览服务器的文件路径
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnServerLL_Click(object sender, EventArgs e)
            {
                //显示目录路径
                System.Diagnostics.Process.Start("Explorer.exe", @"\\192.168.1.1\d$\公共区\");
            }
            /// <summary>
            /// 调用资源管理器
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                System.Diagnostics.Process.Start("Explorer.exe", @"d:\TestFileUP\");
            }
            
    
            /*
            public void uploadimg()
            {
                FileInfo fileInf = new FileInfo(txtFileLJ.Text);
                string uri = @"http://www.rnkeysoft.com/"+txtFileLJ.Text.Substring(txtFileLJ.Text.LastIndexOf('\\'));
                HttpWebRequest reqHttp;
                reqHttp = (HttpWebRequest)HttpWebRequest.Create(uri);
                //reqHttp.UseBinary = true;
                reqHttp.Credentials = new NetworkCredential("imagupload", "123456");//ftp用户名和密码
                reqHttp.KeepAlive = false;
                reqHttp.Method = WebRequestMethods.Ftp.UploadFile;
                reqHttp.ContentLength = fileInf.Length;
                int buffLength = 2048;
                byte[] buff = new byte[buffLength];
                int contentLen;
                FileStream fs = fileInf.OpenRead();
                Stream strm = reqHttp.GetRequestStream();
                contentLen = fs.Read(buff, 0, buffLength);
                while (contentLen != 0)
                {
                    strm.Write(buff, 0, contentLen);
                    contentLen = fs.Read(buff, 0, buffLength);
                }
                strm.Close();
                fs.Close();
            }
    
             public static bool UploadFile(string localFilePath, string serverFolder,bool reName)
            {
                string fileNameExt, newFileName, uriString;
                if (reName)
                {
                    fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf(".") + 1);
                    newFileName = DateTime.Now.ToString("yyMMddhhmmss") + fileNameExt;
                }
                else
                {
                    newFileName = localFilePath.Substring(localFilePath.LastIndexOf("")+1);
                } 
                if (!serverFolder.EndsWith("/") && !serverFolder.EndsWith(""))
                {
                    serverFolder = serverFolder + "/";
                }
    
                uriString = serverFolder + newFileName;   //服务器保存路径
                 创建WebClient实例
                WebClient myWebClient = new WebClient();
                myWebClient.Credentials = CredentialCache.DefaultCredentials;
    
                // 要上传的文件
                FileStream fs = new FileStream(newFileName, FileMode.Open, FileAccess.Read);
                BinaryReader r = new BinaryReader(fs);
                try
                {
                    //使用UploadFile方法可以用下面的格式
                    //myWebClient.UploadFile(uriString,"PUT",localFilePath);
                    byte[] postArray = r.ReadBytes((int)fs.Length);
                    Stream postStream = myWebClient.OpenWrite(uriString, "PUT");
                    if (postStream.CanWrite)
                    {
                        postStream.Write(postArray, 0, postArray.Length);
                    }
                    else
                    {
                        MessageBox.Show("文件目前不可写!");
                    }
                    postStream.Close();
                }
                catch
                {
                    //MessageBox.Show("文件上传失败,请稍候重试~");
                    return false;
                }
    
                return true;
            }
            */
        }
    }
    


    
    目前,只实现了上传文件到本地,还不支持本地/局域网服务器 文件下载。
    

    展开全文
  • C# WinForm打开PDF文件

    千次阅读 2019-07-17 17:01:35
    其实WinForm打开PDF文件 有很多种方法 主要分为2个大的方法 一:使用Adobe reader提供的COM组件 1.添加引用 工具箱—右键—选择项–COM组件–Adobe PDF Reader 2.使用方法 OpenFileDialog openFile=new OpenF...

    转载:https://blog.csdn.net/wenjunsu/article/details/5870661

    其实WinForm打开PDF文件 有很多种方法 主要分为2个大的方法
    一:使用Adobe reader提供的COM组件
    1.添加引用
    工具箱—右键—选择项–COM组件–Adobe PDF Reader

    2.使用方法

     OpenFileDialog openFile=new OpenFileDialog();
    open..Filter = "PDF文件|*.pdf";
    openFile.ShowDialog();
    axAcroPDF1.src = openFile.FileName;
     //axAcroPDF1.LoadFile(of.FileName);   //使用方法二
    

    二:不使用Adobe reader提供的COM组件
    http://www.codeproject.com/KB/silverlight/BlendPDFwithSilverlight.aspx
    http://www.codeproject.com/KB/applications/PDFViewerControl.aspx

    展开全文
  • 正在做C#的winform开发,要做出一个点击“浏览”按钮,然后弹出选择本地文件的窗口,选择文件后,将路径返回的程序。但是没有思路,谁可以告诉我需要调用哪个库,使用什么方法,或者给我一个思路。这里先说声谢谢了...
  • 选择本地文件或文件夹上传到发布站点的电脑上。需要在服务器的电脑上发布一个站点,然后修改winform窗体下"浏览"按钮点击方法里的服务器地址。可以看到上传进度与网速、耗时
  • Winform开发——本地磁盘目录树浏览

    千次阅读 2014-08-18 11:04:51
    本地磁盘内容浏览“套件”涉及到两个基本的控件:TreeView和ListView,其中TreeView用来显示磁盘目录的层次关系,节点为磁盘的某个文件夹,用户可以单击节点展开文件夹浏览其子文件夹的层次关系。ListView的视图类似...

    转载:http://www.cnblogs.com/erebus/articles/2118554.html

    本地磁盘内容浏览“套件”涉及到两个基本的控件:TreeView和ListView,其中TreeView用来显示磁盘目录的层次关系,节点为磁盘的某个文件夹,用户可以单击节点展开文件夹浏览其子文件夹的层次关系。ListView的视图类似Windows自带的资源管理器,可以给出当前浏览目录下的文件和文件和问文件夹图标,双击后可以进入下一层目录。

    第一步:搞定ListView中每个显示项目的图标

           系统中的文件夹和不同扩展名的文件在资源管理器中显示的图标也不同,如果在使用ListView显示当前文件夹下所有项目的图标时都自定义添加,这显然是不现实的。那么我们有没有一种办法可以让系统根据某个文件项目的扩展名自动从系统图标库中选取相应的图标呢?免去我们找各种图标图片的麻烦。答案是肯定的,只是我们需要调用一些Win32的API。

    首先申明如下:

    #region 图标

    public static uint SHGFI_ICON = 0x100;

    public static uint SHGFI_DISPLAYNAME = 0x150;

    public static uint SHGFI_TYPENAME = 0x400;

    public static uint SHGFI_ATTRIBUTES = 0x800;

    public static uint SHGFI_ICONLOCATION = 0x1000;

    public static uint SHGFI_EXETYPE = 0x1500;

    public static uint SHGFI_SYSICONINDEX = 0x4000;

    public static uint SHGFI_LINKOVERLAY = 0x8000;

    public static uint SHGFI_SELECTED = 0x10000;

    public static uint SHGFI_LARGEICON = 0x0;

    public static uint SHGFI_SMALLICON = 0x1;

    public static uint SHGFI_OPENICON = 0x2;

    public static uint SHGFI_SHELLICONSIZE = 0x4;

    public static uint SHGFI_PIDL = 0x8;

    public static uint SHGFI_USEFILEATTRIBUTES = 0x10;

     

    public static uint FILE_ATTRIBUTE_NORMAL = 0x80;

    public static uint LVM_FIRST = 0x1000;

    public static uint LVM_SETIMAGELIST = LVM_FIRST + 3;

    public static uint LVSIL_NORMAL = 0;

    public static uint LVSIL_SMALL = 1;

     

    [DllImport("Shell32.dll")]

    public static extern IntPtr SHGetFileInfo(string pszPath,

       uint dwFileAttributesref SHFILEINFO psfi,

       int cbfileInfouint uFlags);

     

    public struct SHFILEINFO

    {

       public IntPtr hIcon;

       public int iIcon;

       public int dwAttributes;

       public string szDisplayName;

       public string szTypeName;

    }

     

    [DllImport("User32.DLL")]

    public static extern int SendMessage(IntPtr hWnd,

       uint MsgIntPtr wParamIntPtr lParam);

     

    public void ListViewSysImages(ListView AListView)

    {

       SHFILEINFO vFileInfo = new SHFILEINFO();

       IntPtr vImageList = SHGetFileInfo(""0ref vFileInfo,

          Marshal.SizeOf(vFileInfo), SHGFI_SHELLICONSIZE |

          SHGFI_SYSICONINDEX | SHGFI_LARGEICON);

     

       SendMessage(AListView.HandleLVM_SETIMAGELIST, (IntPtr)LVSIL_NORMALvImageList);

       vImageList = SHGetFileInfo(""0ref vFileInfo,

          Marshal.SizeOf(vFileInfo), SHGFI_SHELLICONSIZE |

          SHGFI_SYSICONINDEX | SHGFI_SMALLICON);

       SendMessage(AListView.HandleLVM_SETIMAGELIST, (IntPtr)LVSIL_SMALLvImageList);

     

    }

    public int FileIconIndex(string AFileName)

    {

       SHFILEINFO vFileInfo = new SHFILEINFO();

       SHGetFileInfo(AFileName0ref vFileInfo,

          Marshal.SizeOf(vFileInfo), SHGFI_SYSICONINDEX);

       return vFileInfo.iIcon;

    }

    #endregion

    假设现在我们有ListView控件实例testListView,在使用这个控件之前我们对其进行初始化处理:

    ListViewSysImages(testListView);

           当我们需要向testListView中添加项目时,使用如下语句:

    ListViewItem lvi = new ListViewItem(FileName.Substring(FileName.LastIndexOf("\\"+ 1));

    lvi.ImageIndex = FileIconIndex(FileName);

    第二步:树形结构添加节点

    使用TreeView之前我们需要找到四个基本图标:选定状态的文件夹、未选定状态的文件夹、磁盘图标、CD驱动器图标。将这四个图标添加到ImageList控件中调整好顺序。

    #region 树形结构

    //树形结构初始化

    private void InitialTreeView(TreeNode rootNode)

    {

       //将驱动器字符串数组设为空

       string[] drivers = null;

       //检索此计算机上逻辑驱动器的名称

       drivers = Directory.GetLogicalDrives();

       int i = 0;

       //初始化每一个逻辑驱动器

       while (i < drivers.GetLength(0))

       {

          TreeNode newNode = new TreeNode(drivers[i].ToString().Substring(02));

          newNode.Tag = drivers[i];

          //获得驱动器类型,设置图标

          DriveInfo di = new DriveInfo(drivers[i]);

          if (di.DriveType == DriveType.CDRom)

          {

            newNode.ImageIndex = 2;

            newNode.SelectedImageIndex = 2;

          }

          else

          {

            newNode.ImageIndex = 1;

            newNode.SelectedImageIndex = 1;

          }

          rootNode.Nodes.Add(newNode);

          string path = drivers[i];

          string[] dirs = null;

          try

          {

            //获得指定驱动器中第一级目录的名称

            dirs = Directory.GetDirectories(path);

          }

          catch (Exception error)

          {

            dirs = null;

            //错误处理为空,即忽略

          }

          if (dirs != null)

          {

            //为每一个代表驱动器的根节点添加子节点

            for (int j = 0j < dirs.Lengthj++)

            {

               if ((File.GetAttributes(dirs[j]) & FileAttributes.Hidden== FileAttributes.Hidden && showHiden.Value == false)

               {

                  continue;

               }

               //获得节点去掉路径的目录名

               TreeNode node = new TreeNode(dirs[j].ToString().Substring(dirs[j].ToString().LastIndexOf("\\"+ 1));

               node.Tag = dirs[j];

               //设置不选定状态下的图标

               node.ImageIndex = 3;

               //设置打开状态下的图标

               node.SelectedImageIndex = 4;

               //添加节点

               rootNode.Nodes[i].Nodes.Add(node);

            }

          }

          //继续下一循环

          i++;

       }

    }

    //树形结构显示

    private void TreeViewShow(TreeNode NodeDir)

    {

       try

       {

          string[] dirs = null;

          int i = 0;

          while (i < NodeDir.Nodes.Count)

          {

            //添加子节点

            try

            {

               dirs = Directory.GetDirectories((string)NodeDir.Nodes[i].Tag);

            }

            catch

            {

               dirs = null;

            }

     

            if (dirs != null)

            {

               //删除以前节点

               NodeDir.Nodes[i].Nodes.Clear();

               //为驱动器根节点添加子节点

               for (int j = 0j < dirs.Lengthj++)

               {

                  //获得节点去掉路径的目录名

                  TreeNode node = new TreeNode(dirs[j].ToString().Substring(dirs[j].ToString().LastIndexOf("\\"+ 1));

                  node.Tag = dirs[j];

                  //设置不选定状态下的图标

                  node.ImageIndex = 3;

                  //设置打开状态图标

                  node.SelectedImageIndex = 4;

                  //添加节点

                  NodeDir.Nodes[i].Nodes.Add(node);

               }

            }

            i++;

          }

       }

     

       catch (Exception e)

       {

          MessageBox.Show(e.Message);

       }

    }

    //树形结构节点点击事件

    private void treeView_AfterSelect(object senderTreeViewEventArgs e)

    {

       currentPath = (string)e.Node.Tag;

       if (currentPath != null && !currentPath.EndsWith("\\"))

       {

          currentPath += "\\";

       }

       urlBox.Text = currentPath;

       ListViewShow(e.Node);

    }

    //树形结构节点展开事件

    private void treeView_AfterExpand(object senderTreeViewEventArgs e)

    {

       if (e.Node.Parent != null)

       {

          TreeViewShow(e.Node);

       }

    }

    #endregion

    第三步:显示当前路径下的所有文件项目

    #region 文件浏览

    //初始化ListView控件,把TrreView控件中的数据添加进来

    private void ListViewShow(TreeNode NodeDir)

    {

       int itemNum = 0;//统计项目总数

       listView1.Clear();

       listView1.Columns.Add("名称"150);

       listView1.Columns.Add("修改日期"150);

       listView1.Columns.Add("大小"100HorizontalAlignment.Right);

       try

       {

          if (NodeDir.Parent == null)// 如果当前TreeView的父结点为空,就把我的电脑下的分区名称添加进来

          {

            foreach (string DrvName in Directory.GetLogicalDrives())//获得硬盘分区名

            {

               FileInfo fileInfo = new FileInfo(DrvName.Substring(02));

               ListViewItem ItemList = new ListViewItem(DrvName.Substring(02));

               ItemList.SubItems.Add(fileInfo.LastWriteTime.ToString());

               ItemList.ImageIndex = FileIconIndex(DrvName);

               listView1.Items.Add(ItemList);//添加进来

               itemNum++;

            }

          }

     

          else//如果当前父节点不为空,把点击的结点,做为一个目录文件的总结点

          {

            foreach (string DirName in Directory.GetDirectories((string)NodeDir.Tag))//遍历当前分区或文件夹下所有目录

            {

               if ((File.GetAttributes(DirName& FileAttributes.Hidden== FileAttributes.Hidden && showHiden.Value == false)

               {

                  continue;

               }

               FileInfo fileInfo = new FileInfo(DirName);

               ListViewItem ItemList = new ListViewItem(DirName.Substring(DirName.LastIndexOf("\\"+ 1));

               ItemList.SubItems.Add(fileInfo.LastWriteTime.ToString());

               ItemList.ImageIndex = FileIconIndex(DirName);

               ItemList.Tag = DirName;

               listView1.Items.Add(ItemList);

               itemNum++;

            }

     

            foreach (string FileName in Directory.GetFiles((string)NodeDir.Tag))//遍历当前分区或文件夹所有目录的文件

            {

               if ((File.GetAttributes(FileName& FileAttributes.Hidden== FileAttributes.Hidden && showHiden.Value == false)

               {

                  continue;

               }

               FileInfo fileInfo = new FileInfo(FileName);

               ListViewItem ItemList = new ListViewItem(FileName.Substring(FileName.LastIndexOf("\\"+ 1));

               ItemList.SubItems.Add(fileInfo.LastWriteTime.ToString());

               long length = fileInfo.Length / 1024;

               if (length == 0length = 1;

               ItemList.SubItems.Add(length + " KB");

               ItemList.ImageIndex = FileIconIndex(FileName);

               ItemList.Tag = FileName;

               listView1.Items.Add(ItemList);

               itemNum++;

            }//

          }

       }

       catch { }

       itemNumber.Text = itemNum.ToString();

    }

    //获取当有文件夹内的文件和目录

    public void ListViewShow(string DirFileName)

    {

       int itemNum = 0;

       listView1.Clear();

       listView1.Columns.Add("名称"150);

       listView1.Columns.Add("修改日期"150);

       listView1.Columns.Add("大小"100HorizontalAlignment.Right);

       try

       {

          foreach (string DirName in Directory.GetDirectories(DirFileName))//遍历当前分区或文件夹所有目录

          {

            if ((File.GetAttributes(DirName& FileAttributes.Hidden== FileAttributes.Hidden && showHiden.Value == false)

            {

               continue;

            }

            FileInfo fileInfo = new FileInfo(DirName);

            ListViewItem ItemList = new ListViewItem(DirName.Substring(DirName.LastIndexOf("\\"+ 1));

            ItemList.SubItems.Add(fileInfo.LastWriteTime.ToString());

            ItemList.ImageIndex = FileIconIndex(DirName);

            ItemList.Tag = DirName;

            listView1.Items.Add(ItemList);

            itemNum++;

          }

     

          foreach (string FileName in Directory.GetFiles(DirFileName))//编历当前分区或文件夹所有目录的文件

          {

            if ((File.GetAttributes(FileName& FileAttributes.Hidden== FileAttributes.Hidden && showHiden.Value == false)

            {

               continue;

            }

            FileInfo fileInfo = new FileInfo(FileName);

            ListViewItem ItemList = new ListViewItem(FileName.Substring(FileName.LastIndexOf("\\"+ 1));

            ItemList.SubItems.Add(fileInfo.LastWriteTime.ToString());

            long length = fileInfo.Length / 1024;

            if (length == 0length = 1;

            ItemList.SubItems.Add(length + " KB");

            ItemList.ImageIndex = FileIconIndex(FileName);

            ItemList.Tag = FileName;

            listView1.Items.Add(ItemList);

            itemNum++;

          }//

       }

       catch

       { }

     

       itemNumber.Text = itemNum.ToString();

    }

    //列表框鼠标双击事件

    private void listView1_DoubleClick(object senderEventArgs e)

    {

       string fullName = currentPath + listView1.FocusedItem.Text;

       if (Directory.Exists(fullName))

       {

          currentPath = fullName + "\\";

          fullName += "\\";

          ListViewShow(fullName);

          urlBox.Text = currentPath;

       }

    }

    #endregion

    第四步:回到上层目录

    //工具栏上层目录

    private void parentDir_Click(object senderEventArgs e)

    {

       if (currentPath != "" && currentPath != null)

       {

          currentPath = currentPath.Substring(0currentPath.Length - 2);

          if (currentPath.LastIndexOf('\\'> 0)

          {

            currentPath = currentPath.Substring(0currentPath.LastIndexOf('\\'+ 1);

            urlBox.Text = currentPath;

            ListViewShow(currentPath);

          }

          else//如果是根节点,则添加磁盘驱动器

          {

            listView1.Items.Clear();

            currentPath = "";

            urlBox.Text = currentPath;

            TreeNode rootNode = new TreeNode("My");

            ListViewShow(rootNode);

          }

       }

    }

    第五步:添加右键菜单

           为了能够对控件组合能够更好的操作,我们通常情况下需要添加右键菜单,首先我们在窗体设计界面上添加ComtextMenuStrip控件listView1Menu:

    //列表框鼠标点击事件

    private void listView1_MouseClick(object senderMouseEventArgs e)

    {

       if (e.Button == MouseButtons.Right && currentPath != "" && currentPath != null)

       {

          Point position;

          position = new Point(e.Xe.Y);

          listView1Menu.Show(this.listView1position);

       }

    }

    此时在运行程序后在ListView控件显示的项目上右键单击鼠标便会弹出listView1Menu菜单。

    第六步:初始化,开始运行

    运行之前需要在窗体加载事件中写入下面的代码:

    #region treelist初始化

    //初始化列表图标

    ListViewSysImages(listView1);

    ListViewSysImages(listView2);

    ListViewSysImages(fileDownload);

    //初始化树形结构

    treeView.ImageList = imageList;

    //添加根节点

     TreeNode rootNode = new TreeNode("我的电脑");//初始化TreeList添加总根节点

    rootNode.ImageIndex = 0;

    rootNode.SelectedImageIndex = 0;

    treeView.Nodes.Add(rootNode);

    //初始化树形结构

    InitialTreeView(rootNode);

    rootNode.Expand();

    ListViewShow(rootNode);

    #endregion

           之后,编译运行。


    展开全文
  • 上传文件: 使用OpenFileDialog控件选择文件, 具体代码示例: private void btnUpLoadPic_Click(object sender, EventArgs e) { //文件类型过滤 openFileDialog1.Filter = "图像文件(*.jpg,*.bmp,*....
  • c# winform项目treeview控件绑定本地电脑磁盘信息,浏览磁盘图片,上传本地图片控件
  • private void btnOpen_Click(object ... //显示打开本地文件的窗体  fileName = OpenFD.FileName; //把 路径名称 赋给 fileName  textBox1.Text = fileName; //将 路径名称 显示在 textBox 控件上  }  }
  • Winform 上传文件(ftp方式)

    千次阅读 2017-05-11 14:05:09
    winform上传文件有两种方式 1种用FTP。这个方式比较推荐的方式。只是复杂一点。需要架设FTP服务器。...其实就是我们常用的HTML浏览本地文件然后上传的功能。只不过客户端用一个控件代替了。但是服务器端还必
  • winform 文件上传,及错误集锦

    千次阅读 2013-09-23 17:53:17
    要实现winform文件上传功能,ftp什么的暂时不会,上网找了许多,最后搞出来了,不算是原创,但把一些东西总结在了一起 #region 上传、下载类 /// /// winform形式的文件传输类 /// public class ...
  • 代码 private void button1_Click(object sender, EventArgs e) { //本地文件名 string filename = @"C:\1.htm" webBrowser1.Tag = filename; //设置id为q的超链接...
  • c# winform 端口监听和文件的传输 不说那么多 直接上代码 代码中有注释 服务器用来接收文件,不停的监听端口,有发送文件就马上开始接收文件 服务端代码: 代码 using System; using System.Collections....
  • WINFORM里打开EXCEL文件

    千次阅读 2011-06-28 10:53:00
    最近有个项目需要在WINFORM框架下嵌入EXCEL文件,因为考虑到浏览器支持这个功能那么具体数据迁移就不许要自己做了。所以打算使用OLE空间WEBBROWSER,代码如下:首先需要引用几个COM组件,Internet Explorer组件,...
  • winform开发C#打开电脑本地地址,获取本地文件地址。打开本地文件
  • // } //} //浏览文件 private void btnLL_Click(object sender, EventArgs e) { //this.openFileDialog1.Filter = "jpg文件(*.jpg)|*.jpg|gif文件(*.gif)|*.gif"; this.openFileDialog1.Filter = "所有文件(*.*)|*....
  • Winform通过按钮打开文件以及文件夹通过按钮打开文件夹 通过按钮打开文件夹 新建一个winform项目,在主窗体中拖拽两个textbox控件以及两个button控件 一个button用于打开文件夹路径,并且显示在对应的textbox中 一个...
  • 树形控件绑定本地电脑磁盘信息,文件夹,获取文件夹下的文件信息 写这盘文章前,在网上找了很多例子,发现大同小异,不尽人意,所以才决定自己写个简单的来测试下。希望对跟我一开始有同样问题的朋友有所帮助
  • C# WinForm窗体加载Excel、Word文件

    热门讨论 2014-03-19 13:03:45
    C#代码,通过在WinForm窗体中直接打开Excel或Word文件,包含源代码,步步亿佰公司用来做测试用的,分享给大家做参考
  • Winform 将引用的dll文件集成到exe

    千次阅读 2018-12-17 11:36:38
    第一步,将需要引用的dll文件复制到项目中 ...切换至在“添加引用”对话框中的“浏览”选项卡,选择项目目录中刚刚复制过来的dll文件。 第三步,设置引用项的属性为“复制到输出目录”为“不复制” 右键点击“引用”...
  • *.jpeg |GIF 图像文件(*.gif)|*.gif |BMP图像文件(*.bmp)|*.bmp|Tiff图像文件(*.tif;*.tiff)|*.tif;*.tiff|Png图像文件(*.png)"  + "| *.png |所有文件(*.*)|*.*";  if (openFi.ShowDialog() == DialogResult....
  • private void btnFile_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Multiselect...fileDialog.Title = "请选择文件"; fileDialog.Filter="所有文件(*.*)|*.*";
  • WinForm 打开txt文件

    2021-06-25 20:41:19
    功能简介:用户浏览路径并选择txt文件,按下按钮显示选定文件的内容 功能实现:利用OpenFileDialog指定文本文件(.txt文件),然后打开指定文件并在TextBox中显示。 在Form1上,布置一个Label控件、一个TextBox控件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,530
精华内容 612
关键字:

winform浏览本地文件