如何在C#中创建一个用户控件,它具有OpenFileDialog的相同功能(以及一些扩展功能)?我已经按照这个的方法进行了操作,但是我无法找到解决我的问题的方法。
我的要求是在对话框中添加一个额外的按钮。如果单击该按钮,则应以与
我的要求是在对话框中添加一个额外的按钮。如果单击该按钮,则应以与
ok
和cancel
按钮相同的方式通知父级。ok
和cancel
按钮相同的方式通知父级。IFileOpenDialog
的实例。IFileDialogCustomize
接口的引用。AddPushButton
方法添加按钮。IFileOpenDialog
接口上的Advise
方法来注册处理事件的接口。该接口是由您实现的IFileDialogControlEvents
。您必须同时实现该接口和IFileDialogEvents
。IFileDialogControlEvents.OnButtonClicked
方法。GetOpenFileName
并提供自定义的资源模板。从托管代码中进行这项工作真的很无聊! C++ / CLI库可以使这个过程更加可管理。OpenFileDialog
是一个sealed
类,因此无法被继承或扩展。最好的方法是编写自己的打开文件对话框。FileDialog
类并非封闭的,因此可以从中继承并进行必要的自定义。有关更多信息,请参见http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx。OpenFileDialog
是 Windows 内置功能(完全不是 .NET),因此扩展它是一项相当复杂的任务。为什么不从头开始构建它或寻找任何现有的解决方案呢?