gpt4 book ai didi

c# - 是否有现成的方法可以将事件窗口显示在多个屏幕中的哪个屏幕上?

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:59 30 4
gpt4 key购买 nike

我正在尝试从 Screen.AllScreen 对象的 Screen.AllScreen 数组中查找哪个屏幕包含事件窗口,因此我可以使用该屏幕来显示新窗口。

我能想到的最好方法是通过 pinvoke 获取前台事件窗口,然后以某种方式从该对象找到某种屏幕位置,然后将该点与屏幕对象区域数组进行比较,看它是否包含在那里.左上角就足够了,我将忽略事件窗口同时显示在多个显示器上的可能性。

是否有更简单的方法可以避免 pinvoke 的 getforegroundwindow 和包含的点迭代搜索?

最佳答案

只需使用静态方法 Screen.FromHandle() 获取包含事件表单最大部分的屏幕(通过 Handle),如下所示:

Screen scr = Screen.FromHandle(GetForegroundWindow());

还有 3 个静态方法从 ControlPointRectangle 获取 Screen

关于c# - 是否有现成的方法可以将事件窗口显示在多个屏幕中的哪个屏幕上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17736747/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com