C#实现文件夹选择框

C#实现文件夹选择框(附完整源码) 阅读详情
       大家都用过C#里的文件打开/保存对话框吧?方便明快且易上手.但是可惜的是,C#居然没提供同样的文件夹选择框,很多人通过P/I invoke使用了系统的一些函数来实现对话框,那是相当地不方便啊~~其实,C#的FolderNameEditor类在某种程度上就实现了文件夹选择框的功能,只不过没有完全包装出来.呵呵,今天就给读者放出一个使用C#自己的类实现的对话框,使用起来就跟OpenFileDialog一样简单易用.
 
       给文件夹选择框类起名叫OpenFolderDialog,类设计如下:
public class OpenFolderDialog : FolderNameEditor, IDisposable
{
    FolderNameEditor.FolderBrowser fDialog = new FolderNameEditor.FolderBrowser();
 
    public OpenFolderDialog()
    {
    }
 
    public DialogResult ShowDialog()
    {
        return ShowDialog("Select a folder:");
    }
 
    public DialogResult ShowDialog(string description)
    {
        fDialog.Description = description;
        return fDialog.ShowDialog();
    }
 
    public string Path
    {
        get
        {
            return fDialog.DirectoryPath;
        }
    }
 
    public void Dispose()
    {
        fDialog.Dispose();
    }
}
使用实例:
private void selectFolderButton_Click(object sender, EventArgs e)
{
    using (OpenFolderDialog openFolderDlg = new OpenFolderDialog())
    {
        if (openFolderDlg.ShowDialog() == DialogResult.OK)
        {
            this.outFolderTextBox.Text = openFolderDlg.Path;
        }
    }
}
 

下面是对照的OpenFolderDialog使用实例,对照一下,是不是很相似?

private void selectFileButton_Click(object sender, EventArgs e)
{
    using (OpenFileDialog openDlg = new OpenFileDialog())
    {
        openDlg.Filter = @"All text Files(*.txt)|*.txt";
        openDlg.Multiselect = false;
        openDlg.RestoreDirectory = true;
        openDlg.FilterIndex = 1;
 
        if (openDlg.ShowDialog() == DialogResult.OK)
        {
            this.filePathTextBox.Text = openDlg.FileName;
        }
    }
}
C# Winform实现文件夹监控与过期文件自动清理工具 在工程实践中,文件监控与定时任务常是自动化运维的基础。通过FileSystemWatcher监听目录变化,结合Timer周期扫描,能有效清理过期文件,避免磁盘空间膨胀。这类机制广泛应用于临时目录管理、日志轮转、备份删减等场景。C# Winform提供了直观的界面和跨线程处理能力,使开发者快速构建自带日志与异常兜底的清理工具。文章围绕一个文件夹监控工具的完整设计展开,讲解文件系统监听、定时删除策略、文件占用判断与空目录清理等实战细节,并给出可直接运行的源码与exe,兼顾教学与落地。 阅读详情

相关推荐

Win11上WSL2安装Ubuntu22.04避坑指南:从镜像源到C++环境配置

本文详细介绍了在Win11系统上安装和配置WSL2及Ubuntu22.04开发环境的完整流程与避坑指南。内容涵盖从解决网络安装错误、更换国内镜像源以加速软件更新,到一站式配置C++开发工具链(包括GCC、GDB、CMake等),并提供了提升WSL2使用体验的实用技巧和故障排除方法,帮助开发者高效搭建稳定的Linux开发环境。

weixin_29306261的博客 474

C#选择文件、选择文件夹、打开文件(OpenDialog,FolderBrowserDialog)

1、选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if (dialog.ShowDialog() == System.W...

weixin_40029679的博客 9208

wintab开发例程

 タブレットとスタイラスペンを使うと、パソコンに手書きの線を入力できます。筆圧を入力することができるので毛筆のような表現も可能です。ペンの傾きを入力できる機種もあり、アイデア次第で面白いことに使えそうです。  私は昔(94年頃)、WACOMのタブレットを用いたプログラム開発をしたことがあります。当初A3版ほどの大きさのUDというタブレットを使っていて、その後 ArtPad という小さいサイズの

grass168的专栏 3240

C#选取文件夹的对话框

首先要说明一下: 添加引用:   System.Design  此文件在下面的位置  C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Design.dll 有些人说在添加引用的面板中并找不到这个引用.这是由于你的目标框架设置错误 在 解决方案管理器上  右键 "属性

3773

龙迅LT9611UXC芯片简介:Dual-Port MIPI DSI/CSI to HDMI2.0 with Audio

龙迅半导体推出的LT9611UXC是一款高性能MIPI转HDMI2.0转换器,支持DSI/CSI接口转换,兼容多种视频格式(RGB/YCbCr),最高支持4K@60Hz输出。该芯片集成音频处理(I2S/SPDIF)、色彩空间转换和3D功能,适用于机顶盒、电视盒子等消费电子及车载设备。提供工业级(-40℃~+85℃)和车规级(AEC-Q100认证)版本,采用QFN64封装。

MB16698594834的博客 1334

推荐算法之Thompson(汤普森)采样

如果想理解汤普森采样算法,就必须先熟悉了解贝塔分布。 一、Beta(贝塔)分布 Beta分布是一个定义在[0,1]区间上的连续概率分布族,它有两个正值参数,称为形状参数,一般用α和β表示,Beta分布的概率密度函数形式如下: 这里的Γ表示gamma函数。 Beta分布的均值是: 方差: ...

weixin_30508241的博客 4259

C# 文件对话框

C# 操作文件相关对话框 OpenFileDialog、SaveFileDialog、FolderBrowserDialog

TheWindOfFate的博客 3635

esp32 python开发环境搭建_eclipse esp32开发环境搭建

安装方法基本是按照官网提供的方法来操作https://github.com/espressif/idf-eclipse-plugin#GettingStarted但是官网的方法安装之后还是不能编译成功的,第一次编译会出现一下问题问题1:Building in: E:\eclipse-workspace\helloworlk\buildcmake -G Ninja -DCMAKE_TOOLCHAIN...

weixin_39978276的博客 1263

C# 打开文件,打开文件夹对话框

C# 打开文件,打开文件夹对话框

weixin_42462436的博客 9070

备赛电赛学习硬件篇(二):电源板电路设计

1、输入接口要准备各种接口,如2p端子,锂电池接口,typec等,提供多种电源供电方案2、输出接口3、自由拓展。

m0_61022809的博客 3213

【DRAM存储器六十九】DDR5介绍--2N mode 和 CS Geardown mode

摘要: DDR5内存速率提升至8400MT/s以上时,信号完整性成为关键挑战。JEDEC在JESD79-5B标准中引入2N Mode和CS Geardown Mode两项技术,通过“时间换稳定性”优化时序裕量。2N Mode默认启用,将命令周期延长至两倍时钟周期,增强全局命令稳定性;CS Geardown Mode则针对片选信号(CS_n)降低采样频率,提升局部信号容错能力。两者均需通过特定寄存器配置,适用于高频场景下的性能与稳定性平衡。这些技术为DDR5在高频运行中提供了可靠的时序保障。

highman110的博客 219

C#中folderBrowserDialog1控件详细使用方法

C#中folderBrowserDialog1控件详细使用方法

xiaogongzhu001的博客 2894

基于Stateflow的驱动电机控制系统模式管理与安全策略研究

摘要 本文基于Stateflow状态机建模工具,研究了驱动电机控制系统的模式管理架构与安全策略实现方法。通过分析电机控制系统的工作模式,设计了包含初始化、待机、校准、对齐、运行、故障、复位七种状态的有限状态机模型,并建立了三级故障处理机制和降额保护策略。基于Simulink/Stateflow搭建的仿真模型实现了模式切换逻辑和安全管理功能,验证了系统能够正确响应各类控制事件,故障处理机制可有效保护系统安全。研究成果为电动汽车电机控制系统的工程开发提供了参考。 关键词:Stateflow;驱动电机控制;模式管

AI的内部世界的博客 58

文件夹选择框 & 文件选择框

最近在写一个上位机,需要选择文件和文件夹的功能,所以就查阅了一下,这里记录一下方便以后查阅。

梁小憨憨的博客 536

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# 选择文件夹路径

通过C#代码,调出windows风格的文件夹选择框。提供界面来选择指定文件夹,并将文件夹完整路径以字符串形式返回。

WangMing_X的博客 1323

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

实现能够选择文件夹

  大家都用过C#里的文件打开/保存对话框吧?方便明快且易上手.但是可惜的是,C#居然没提供同样的文件夹选择框,很多人通过P/I invoke使用了系统的一些函数来实现对话框,那是相当地不方便啊~~其实,C#的FolderNameEditor类在某种程度上就实现了文件夹选择框的功能,只不过没有完全包装出来.呵呵,今天就给读者放出一个使用C#自己的类实现的对话框,使用起来就跟OpenFileDial

lovelan1748的专栏 683

C# 获取文件夹路径和文件夹包含文件列表

FolderBrowserDialog用来选择文件夹FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog.ShowDialog() 之后才会打开文件夹选择框。 dialog.SelectedPath是选择的文件夹的完整路径 DirectoryInfo theFolder = new DirectoryInfo(foldP

SHAO_96822的博客 2237

C#文件夹选择框的使用(C#选择文件夹,C# 打开文件夹,C# 浏览文件夹,C#怎么选择文件夹)...

  今天在做报表统计的时候,遇到将报表生成到指定的位置去,在网上找了一些资料,整理了一下,分享一下。   1.在C#中使用FolderBrowserDialog类,就可以实现选择文件夹的功能,并将所选择的的文件夹路径记录下来。   (1).首先先引入命名空间System.Windows.Forms;     (2).然后在应用程序的主入口点,也就是static void Main()方法上面...

weixin_34417183的博客 467

C# WinForm 文件夹选择控件 folderBrowserDialog 的应用实例

上期讲到的修改文件创建时间 1.从工具箱中“双击” FolderBrowserDialog(或则在类中使用 new FolderBrowserDialog() 均可,本文主要描述窗体使用)。 2.加上一个“选择”按钮,在按钮点击事件下添加如下代码 /// <summary>选择按钮点击事件</summary> private void BtnSelect_Click(object sender, EventArgs e) { folderBrowserDialog

研究、探索、分享与成长 1万+

C#:打开 文件/文件夹选择框,选取,并获得路径名称

using System; using System.Windows.Forms; //选取文件,并获得路径 private void button1_Click(object sender, EventArgs e) { var f = new OpenFileDialog(); //f.Multiselect ...

八步赶蝉 1万+

C# 选择文件 和 选择文件夹 对话框

private void button2_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Multiselect = true; fileDialog.Title =

sc6231565的专栏 3万+

javascript Web上传文件夹的两种解决方案

解决方案1: 调用windows的shell,但会有安全问题. * browseFolder.js * 该文件定义了BrowseFolder()函数,它将提供一个文件夹选择对话框 * 以供用户实现对系统文件夹选择的功能 * 文件夹选择对话框起始目录由 * Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath)函数...

cwhatiscs的专栏 758

C# 创建文件夹选择弹出框

我们知道C#里面有选择文件的对话框控件却没有选择文件夹的对话框控件不少人为了选择一个文件夹只好自己用TreeView类来处理其实在C#里面完全不用那么麻烦我们可以用C#的FolderNameEditor类的子类FolderBrowser类来实现获取浏览文件夹对话框的功能。 下面来看看具体是怎么实现的。  首先新建一个winform的项目再新建一个类...

weixin_33873846的博客 989

C#编程,【打开文件对话框】与【选择文件夹对话框】的一种方法。

增加using引用 System.Windows.Forms  1、打开文件对话框 在事件中增加如下代码: OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx|所有文件|*.*";//文件类型 ...

君一席 1958
上一篇: [FXCOP.设计规则]5. 避免命名空间中包含太少的类型
下一篇: 字符串转换系列三:VARIANT、COleVariant 和_variant_t
timewolf
博客等级 码龄23年 12粉丝 32原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值