c# - 当用户更改过滤器时,如何在 SaveFileDialog 中更改文件名的扩展名?

标签 c# .net winforms savefiledialog

我们的应用程序中有一个 SaveFileDialog,它提供了用户可以导出媒体的多种格式。我们使用 FilterIndex 属性确定用户选择的格式SaveFileDialog。各种格式具有不同的文件扩展名,因此我们希望用户输入的文件名在用户更改所选过滤器时更改扩展名。这可能吗?如果可能,如何实现?

编辑:我希望在显示对话框时发生这种情况,当用户更改过滤器时,这样用户就可以得到关于文件名的反馈,而不是事后用户关闭对话。我试过使用消息过滤器,但它不接收对话框的消息。我试过 Application.Idle 但在对话框运行时从未触发。我试过后台线程,但 FilterIndex 在用户关闭对话框之前不会更新。

最佳答案

由于无法继承 SaveFileDialog,我想您必须构建自己的,使用 FileDialog 作为基类。

关于c# - 当用户更改过滤器时,如何在 SaveFileDialog 中更改文件名的扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1097012/

相关文章:

c# - BindingList with IList<T> DataSource,元素顺序

c# - 某些应用程序会停止所有获取击键的尝试

c# - 异步/等待异常处理

c# - HandleRef 和 GCHandle 有什么区别?

c# - 在 Windows 窗体中向 SplitContainer 添加面板

c# - 不转换时出现 InvalidCastException

c# - 使用 MS Graph 时可以避免在 Azure 中注册我的应用程序吗?

c# - 在单个桌面应用程序中管理 40 个 SQL 连接

c# - 静态属性的总和不正确

c# - 在单元测试中连接到 localDb 会抛出异常