C# WINFORM 编程中,选择**文件夹**而不是文件的方法(转)

摘要:
我们可以使用OpenFileDialog来选择文件,但文件夹有两种方法。因为FolderNameEditor位于System.Windows.Forms下。设计命名空间,位于动态链接库system.Design中。dll,我们需要在解决方案中添加一个新的参考系统DisplayDialog函数用于设置实例fDialog的属性并显示“浏览文件夹”对话框。要获取文件夹的路径,请设置path属性并返回选定文件夹的路径。C#语言:FolderDialog01usingSystem;02使用System.Collections。通用的03使用系统。Linq;04使用系统。文本05使用System.Windows.Forms。设计06使用System.Windows。形式;0708namespacelnk09{10classFolderDialog:FolderNameEditor11{12FolderBrowserDialog=newFolderBrowser();13publicFolderDialog()14{15}16publicDialogResultDisplayDialog(”确认文件夹路径!!提示用户选择文件夹。

 我们选择文件可以用 OpenFileDialog ,但是文件夹有两种方法。

法一:

   用C#的FolderNameEditor类的子类FolderBrowser类来实现获取浏览文件夹对话框的功能。下面来看看具体是怎么实现的。 
 首先新建一个winform的项目,再新建一个类文件(File->AddNewItem->Class)。 因为FolderNameEditor是在System.Windows.Forms.Design命名空间下的,此命名空间位于动态链接库system.design.dll,所以我们要先在解决方案中添加新的引用(reference)System.Design。然后在代码中添加:
  using System.Windows.Forms.Design; 
  接着,我们新建一个FolderDialog类,此类从FolderNameEditor类继承,在此类中新建一个FolderBrowser类的实例。DisplayDialog(string description)函数用于设置实例fDialog的属性,并且显示浏览文件夹对话框。为了取得文件夹的路径,设置一个Path属性,返回选取文件夹的路径。

C#语言: FolderDialog
01 using System;
02 using System.Collections.Generic;
03 using System.Linq;
04 using System.Text;
05 using System.Windows.Forms.Design;
06 using System.Windows.Forms;
07 
08 namespace lnk
09 {
10     class FolderDialog : FolderNameEditor
11     {
12         FolderBrowser fDialog = new FolderBrowser();
13         public FolderDialog()
14         {
15         }
16         public DialogResult DisplayDialog()
17         {
18             return DisplayDialog("确定你的文件夹路径!!");
19         }
20         public DialogResult DisplayDialog(string description)
21         {
22             fDialog.Description = description;
23             return fDialog.ShowDialog();
24         }
25         public string Path
26         {
27             get
28             {
29                 return fDialog.DirectoryPath;
30             }
31         }
32         ~FolderDialog()
33         {
34             fDialog.Dispose();
35         }
36 
37     }
38 }

法二:

工具栏里面有一个FolderBrowserDialog控件,在winform中添加FolderBrowserDialog控件。然后在添加一个按钮。和一个label标签。

双击按钮添加代码

FolderBrowserDialog.ShowDialog();
label1.Text = BrowserDialog.SelectedPath;

然后运行!

此时点击按钮。就会弹出对话框。提示用户选择文件夹。选好后确定。用户选的地址就显示在了label中了!

参考代码:

private void button1_Click(object sender, EventArgs e)

{
            FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
            folderBrowserDialog1.Description = "请选择保存输出图件的文件夹";
            folderBrowserDialog1.ShowNewFolderButton = true;
            folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Personal;
            DialogResult result = folderBrowserDialog1.ShowDialog();
            if (result == DialogResult.OK)
            {
                string folderName = folderBrowserDialog1.SelectedPath;
                if (folderName!="")
                {
                    textBox1.Text = folderName;
                }
            }

}

免责声明:文章转载自《C# WINFORM 编程中,选择**文件夹**而不是文件的方法(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇bootstrapValidatorEF框架之三种模式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

winForm 打印预览

  自己很少写技术博客,虽然已经干程序员两年多了,winform开发,web开发都干过,不论项目大小对于.net的相关技术也是了解的,如mvc,wcf,wpf,silverlight,socekt通讯,nhibernate,spring.net wp手机开发等,但是最终发现还是软件架构比所谓的单一功能更为系统化。  下面是一个小的例子 Winfom打印预览...

C# 加载C++创建的动态链接库dll

创建dll 1.打开vs,点击文件-->新建-->项目。 2.选择C++下面的windows桌面,右边选择动态链接库(DLL)。新建成功之后,默认为x86平台。 按照你自己的需求更换平台,必须调用的和被调用的dll同为一个平台。 3.新建之后,在头文件中添加mydll.h,内容为: #define DLL_API extern "C" _de...

C# 如何在ComboBox输入文字改变时,触发事件?

一、了解C#中的预定义事件处理机制 在写代码前我们先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理。 EventArgs是包含事件数据的类的基类,用于传递事件的细节。 EventHandler是一个委托声明如下 public delegate void EventHandler( objectsender, EventArgs e)...

C# winForm 定时访问PHP页面小工具

IDE:vs2019 项目文件: 链接: https://pan.baidu.com/s/1wys1RUKwoNs1kuHbjBZSKw 提取码: xs5e 使用场景:定时访问本机(服务器)的某个页面,发送参数。执行计划任务。 界面: C# 代码: using System; using System.Net; using System.Text;...

转载:winform的DataGridView中用C#实现按钮列置灰

DataGridView 控件包括 DataGridViewButtonCell 类,该类用于显示具有类似按钮的用户界面 (UI) 的单元格。但 DataGridViewButtonCell 不提供禁用由单元格显示的按钮外观的方式。下面的代码示例演示如何自定义 DataGridViewButtonCell 类来显示可以显示为禁用的按钮。本示例定义一个新的单...

Winform中通过代码给PanelControl添加子控件并进行定位

场景 DevExpress的PanelControl常用进行窗体页面的布局。 一般是拖拽一个PannelControl,然后是再拖拽其他控件。 如果是由代码生成控件并控制布局的话,怎样实现。 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 比如说要在PanelContrl中添加一个TextEdit,那么就设置这个TextEdi...