轉貼:http://www.msproject.cn/article/CustomerDialog.aspx
Customizing OpenFileDialog in (原碼地址).NET By CastorTiu
简介

这是一个可以自定义扩展功能的打开文件对话框。.NET中有OpenFileDialog打开文件对话框类,但是他不被自定义。而这个控件就是可以让你给.NET的OpenFileDialog类添加自己定义的功能。但是因为OpenFileDialog类被定义为sealed的,所以你不能继承它。
使用
首先我创建了一个控件叫做OpenFileDialogEx,它包含有一个OpenFileDialog对象。但是OpenFileDialogEx并没有特别的功能,你应该继承OpenFileDialogEx类,创建你自己定义的功能,你可以在他上面添加其他的控件,比如按钮、面板等等。
在OpenFileDialogEx中我加入了三个属性、三个方法和两个事件。首先是三个属性:
·DefaultViewMode - 设置OpenFileDialog的现实方式,默认是详细列表,也可以指定为图标、平铺、缩略图等。
·StartLocation - 你自定义控件在打开文件对话框的位置。
·OpenDialog - 这是控件中的OpenFileDialog对象,可以对他设置初始目录、过滤器等。
三个方法都是虚方法,这样子你可以重写他们:
·OnFileNameChanged() - 当用户点击任何文件名时的事件处理。
·OnFolderNameChanged() - 当用户改变目录时的事件处理。
·OnClosing() - 当对话框关闭时的事件处理。
还有两个事件:FileNameChanged和FolderNameChanged,在默认的OnFileNameChanged()和OnFolderNameChanged()方法中会被调用。不过,建议你重写OnFileNameChanged()和OnFolderNameChanged()方法,直接处理避免将事件多层向上传递。

157

被折叠的 条评论
为什么被折叠?



