作者:unknown 来自:网络C#作为Microsoft.Net战略下的新兴语言,有其不可比拟的强大功能。作为一种RAD语言,它有Visual Basic快速开发应用程序的优点,又不乏C++语言的面相对象的优良特性。
目录选择对话框是应用程序中经常用到的。它能让用户选择一个系统中的特定的文件目录,在安装程序以及媒体播放器中有大量的运用。本文就从C#快速开发的特点出发,介绍在C#下如何制作应用程序中常用到的目录选择对话框。本文介绍的目录选择对话框是完全基于Windows Forms的,因此具有一些标准窗口所共有的特性。
一、系统要求:
- 微软公司Windows 2000服务器版或Windows XP 版
- .Net Framework SDK Beta 2版
二、实现方法
1.在VS.net下新建一个C#的工程,不妨取名为"FolderSelect",图示如下:
2.接下来,我们开始界面部分的设计:
- 先往主界面上添加一个按钮控件、两个标签控件、两个文本框控件(用于显示目录的完整路径以及目录的一些信息)。将按钮控件的Text属性设置为"浏览目录选择对话框",将两个标签控件的Text属性分别设置为"完整路径:"、"路径信息:",将第二个文本框的MultiLine属性设置为True。最终设计所得的界面如下:

- 现在我们的主界面已经好了,接着就是完成目录选择对话框的设计。
选择VS.net的菜单:项目'添加Windows窗体,出现如下图形:

选择默认即可,按"打开"。
现在开始设计目录选择对话框的界面:
往窗体上添加两个标签控件、两个按钮控件、一个文本框控件、一个图象列表(ImageList)控件和一个目录树(TreeView)控件。将两个标签控件的的Text属性分别设置为"完整路径:"、"请选择一个文件夹:";将两个按钮控件的Text属性分别设置为"选择"和"取消";编辑图象列表控件:给它的Images属性添加两个图标
和
分别表示文件夹关闭和打开状态;将目录树控件的ImageList属性设置为imageList1,并将它的ImageIndex和SelectedImageIndex属性分别设置为0和1。好了,最终的界面如下:

3.现在我们开始编写代码:
因为我们的程序中均用到了有关目录信息的类,所以必须在每个代码文件的头上添加System.IO名字空间,具体如下:
using System.IO;
- 对于主窗体部分,我们要写的代码量相对较少。因为这是一个测试用的程序,所以主窗体的作用只是用来显示用户所选择的目录的一些相关信息以表明程序能正常运行、目录选择对话框能正常工作,所以只要添加主窗体上按钮的OnClick事件函数即可:
private void button1_Click(object sender, System.EventArgs e)
{
try
{
Form2 dlg = new Form2(); if ( dlg.ShowDialog() == DialogResult.OK)
{
DirectoryInfo info = dlg.info;
textBox1.Text = dlg.fullPath;
// 在文本框中添加目录信息
string [] strArray = new string[4];
strArray[0] = "创建时间 : "+ info.CreationTime.ToString();
strArray[1] = "全名 : "+ info.FullName;
strArray[2] = "上次访问时间 : "+ info.LastAccessTime.ToString();
strArray[3] = "上次改写时间 : "+ info.LastWriteTime.ToString();
textBox2.Lines = strArray;
}
}
catch( Exception err)
{
Console.WriteLine(err.Message);
}
} Add by : Huobazi (2005-6-11:11:08)
|