对于WinForm应用程序中的任何自定义对话框(窗体),我可以在显示它之前设置其大小和位置:
form.StartPosition = FormStartPosition.Manual;
form.DesktopBounds = MyWindowPosition;
Run Code Online (Sandbox Code Playgroud)
在处理多个监视器时,这一点尤为重要.如果没有此类代码,当您从已拖动到第二个监视器的应用程序打开对话框时,对话框将显示在主监视器上.这提供了糟糕的用户体验.
我想知道是否有任何钩子来设置标准.NET OpenFileDialog和SaveFileDialog(没有StartPosition属性)的位置.
场景:
在JavaScript中是否有任何方法可以让弹出窗口在与初始浏览器窗口(开启者)相同的监视器上打开?
有没有办法在Delphi或C++ Builder中指定应用程序出现在哪个监视器上?
我正在为一个客户开发一个简单的程序,它在一个二级监视器上显示厨房订单,由一个酒店系统生成.目前,他们需要在启动后手动将窗口拖动到第二个监视器上.
我有一个应用程序,其中有一个表单,我想在第二个屏幕上显示.
平均值如果应用程序在屏幕A上运行,当我单击菜单以显示表格时,它应显示在屏幕B上,如果应用程序在屏幕B上运行,当我单击菜单显示表格时,它应显示在屏幕A上.
我经常在办公室使用双屏幕,在家里使用单屏幕.Visual Studio 2010的窗口布局让我感到困惑.我想保存/恢复布局,以便我可以快速"切换"到我想要的布局.
我怎样才能做到这一点?可能吗?
每当我将MacBook从桌面上移开然后将其插入外部显示器(作为主要显示器)时,我就会进入笔记本电脑显示器和外部显示器中存放窗口的状态.
要将所有窗口移动到单个屏幕,我当前的解决方案是在显示首选项中"打开镜像",然后再将其关闭.但这是相当繁琐的.有谁知道更好的方法?
我担心@ erlando发布的脚本对我来说绝对没有任何意义,运行Mac OS X 10.5.4.(即,在两个屏幕上都有窗口,运行脚本不会移动它们中的任何一个,并且它不会返回任何错误.)我想我必须坚持使用上面提到的"镜像/取消镜像"方法.
@ Denton:我担心这些链接提供脚本,可以将从任何屏幕上孤立的窗口重新放回到显示器上.我只是想将所有窗口从辅助显示器移动到主显示器上.
是否可以以编程方式启用第二个监视器并使用C#将Windows桌面扩展到它上面?它需要相当于打开下图中的复选框.

我不小心双击了VS2010中的标签并取消了它们.是否可以关闭此行为?
注意:我正在使用Productivity Power Tools中的Document Well 2010 Plus,以防万一.
我的应用程序使用WPF MediaElement来播放视频(MOV文件).这在主监视器上播放时效果很好,但在窗口移动到辅助监视器时会冻结.
我试过以下没有成功:
当应用程序窗口跨越两个监视器时,它可以正常工作,但只要它完全位于辅助监视器内,视频就会冻结.一旦处于此状态,将应用程序移回主监视器将无济于事(并且加载新视频也无济于事).
安排监视器使坐标始终为正(两个监视器均为1920x1080,辅助监视器原点为1920,0).
有没有其他人看到这个问题和/或找到了修复?
编辑
有没有人使用WPF MediaElement与多个监视器???
我有一个OpenGL应用程序,可以在具有多种多GPU配置的机器上运行(可能还有不同的Windows版本,从XP到7).是否有一般方法可以选择独立于GPU组合的OpenGL渲染器的特定GPU(例如NVIDIA + NVIDIA,NVIDIA + AMD,NVIDIA + Intel等)?它必须是可以从应用程序代码应用的解决方案,即直接在C++或将从应用程序调用的脚本,而无需最终用户干预.
以下是我尝试寻找解决方案的几项测试的详细信息,从非常具体的案例开始,但也许有一个解决方案可以在所有或大多数情况下工作.
是否有任何可靠的方法来强制哪些GPU进行OpenGL渲染?
任何提示都将非常感激.提前致谢!
使用两个Quadro卡组合进行测试
在Windows XP 64位下使用相同的驱动程序(版本275.36),我在各种方法上取得了相对成功,例如:
让司机决定.
只要两张卡使用相同的驱动程序并决定使用所需的卡,此解决方案就是好的.所以它太具体,可能无法预测.
在让司机决定之前,使用NVAPI更改代码中的驱动程序设置.
有了这个解决方案,理论上可以让驱动程序按我的意愿决定,但很难,需要两张卡使用相同的驱动程序而且并不总是有效(使用FX 1700 + NVS 285它不起作用).
更改主屏幕.
这具有默认情况下应用程序在所选主屏幕中打开的效果.该解决方案仅与FX 1700 + FX 570组合一起使用.使用FX 1700 + FX 540,渲染器取决于驱动程序设置,独立于主屏幕,而FX 1700 + NVS 285渲染器始终为FX 1700.
当窗口在特定屏幕中时创建OpenGL上下文.
窗口可以在所需的屏幕中创建,独立于主屏幕,但它具有与上述解决方案相同的问题.
创建OpenGL上下文,仅启用所需图形卡中的屏幕,然后启用其他/ s.
这是我发现使用NVS 285作为渲染器的唯一方法,但它很难看,我不知道它是否可自动化,或者它是否适用于所有情况.
尝试使用WGL_NV_gpu_affinity扩展名选择渲染GPU .
通过FX 1700和FX 570的组合,扩展程序将两个GPU报告为兼容,并且我可以将渲染仅限制为其中一个.使用FX 1700 …
c# ×3
winforms ×3
add-on ×1
c++builder ×1
delphi ×1
desktop ×1
javascript ×1
macos ×1
mediaelement ×1
multi-gpu ×1
opengl ×1
windows ×1
wpf ×1