【发布时间】:2023-04-03 14:50:01
【问题描述】:
我一直在开发 Windows 窗体应用程序,并且最近添加了一个简单的设置页面,允许用户选择一个文件夹来存放输出。 OpenFileDialog 很丑而且不好用,所以我在 WindowsAPICodePack 中添加了对CommonOpenFileDialog 的访问 - 都很好。
当我打开CommonOpenFileDialog 时,Windows 窗体应用程序会缩小到更小的尺寸,如附图所示。
左边是正常程序,右边是打开对话框:
我试过检查Form 前后的大小,但没有改变,所以我碰到了一点砖墙。任何信息都会很有用,如果需要,我可以提供更多详细信息。
打开对话框的代码是:
CommonOpenFileDialog dialog = new CommonOpenFileDialog();
dialog.DefaultDirectory = selectedFolderTextBox.Text;
dialog.IsFolderPicker = true;
if (dialog.ShowDialog() != CommonFileDialogResult.Ok) return;
selectedFolderTextBox.Text = dialog.FileName;
【问题讨论】:
-
考虑添加用于打开对话框的代码。这也是一个非常有趣的错误。
-
不能说我见过这种情况如果您制作一个新应用并打开相同的 commonopenfiledialog 会发生同样的情况吗?
-
@BugFinder 我没想过要尝试,感谢您的建议。不幸的是,我刚刚创建了一个空白项目,它显示出相同的行为。
-
对,所以我刚刚检查了笔记本电脑上的一些设置,并找出了原因。我的笔记本电脑屏幕在“显示设置”下设置为主显示屏,“更改文本、应用程序和其他项目的大小”(DPI?)设置为 125%。我的第二台显示器设置为 100%。我刚刚将这些设置都更改为 100%,从而解决了这个问题。我还尝试将主显示器换到第二台显示器,并保持 DPI (?) 设置与以前一样(显示器上为 100%,笔记本电脑屏幕上为 125%),这也解决了问题。跨度>
-
我遇到了同样的问题——简单地显示
CommonOpenFileDialog会将整个窗口缩小到看起来好像我的比例是 100% 的样子。不幸的是,我的显示器是一个电视屏幕,将比例从 150% 减小到 100% 会使很多东西变得不可读。有没有找到可以在代码中完成的解决方案?
标签: c# winforms dialog windows-api-code-pack