更改SaveFileDialog中保存和取消按钮的默认排列

我在c#编码,我想更改SaveFileDialog中“保存”和“取消”按钮的默认排列。 默认安排是“保存”按钮位于“取消”按钮上方。

我想要的是在“保存”按钮的右侧放置“取消”按钮。

我在网上搜索,发现这些按钮上的文字可以改变(答案在stackoverflow本身上),并且在改变它们的排列(位置)时没有发现。

如果你们中的任何人到目前为止经历过这个问题,请给我解决方案….

谢谢

请不要这样做。

用户习惯于显示这些按钮的位置。 如果你试图改变他们的布局,那么你只会让你觉得错误。

如果你必须这样做,那么应该确保你使用遗留文件对话框(这将使你的对话在Vista / 7上看起来更奇怪)。 使用OPENFILENAME结构中的lpfnHook字段获取对话框过程中的挂钩。 响应CDN_INITDONE通知并使用MoveWindow或SetWindowPos移动按钮。 你必须寻找按钮窗口的句柄。

但实际上,请不要这样做,你只会让你的应用程序变得更糟。

那铃响了。 当您拥有更改按钮文本的代码时,您将拥有按钮窗口的句柄。 然后,当您将GetWindowRect和MoveWindow按钮移动到其他位置时,您可以使用它。 访问pinvoke.net获取声明。

请注意每个 Windows版本中的对话框都已更改。 下一个可能会打破你的程序。 当您不这样做时,您的客户不会感到失望。

也许这可以解决您的问题扩展保存文件对话框类