Mic*_*ens 22 c# multiple-monitors openfiledialog winforms
对于WinForm应用程序中的任何自定义对话框(窗体),我可以在显示它之前设置其大小和位置:
form.StartPosition = FormStartPosition.Manual;
form.DesktopBounds = MyWindowPosition;
Run Code Online (Sandbox Code Playgroud)
在处理多个监视器时,这一点尤为重要.如果没有此类代码,当您从已拖动到第二个监视器的应用程序打开对话框时,对话框将显示在主监视器上.这提供了糟糕的用户体验.
我想知道是否有任何钩子来设置标准.NET OpenFileDialog和SaveFileDialog(没有StartPosition属性)的位置.
我怀疑您能做的最好的事情就是确保使用accept an的重载ShowDialog
IWin32Window
作为父级。这可能有助于它选择合适的位置;最常见的:
using(var dlg = new OpenFileDialog()) {
.... setup
if(dlg.ShowDialog(this) == DialogResult.OK) {
.... use
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29060 次 |
最近记录: |