gpt4 book ai didi

vb.net - 检查表单是否在所有屏幕的范围内

转载 作者:行者123 更新时间:2023-12-04 11:40:30 36 4
gpt4 key购买 nike

我试图详细说明完整的表单是否在屏幕上可见。为了澄清这一点:我不在乎表单是否被另一个表单部分或完全隐藏,我只想知道表单是否完全在屏幕上。

在 Windows 中,可以四处移动表单,这样它们就可以隐藏一半。那是因为您可以将它们移动到任何监视器的实际边界之外。 (进一步向左、向右或底部。)如何以简单的方式检查是否是这种情况?

我想我能做的是检查表单是否在 SystemInformation.VirtualScreen 的范围内。 .这里的问题是,并非虚拟屏幕的每个像素实际上都是可见的。当然,如果 SystemInformation.MonitorCount = 1 这会起作用

不过我对此并不满意。

最佳答案

Public Function IsOnScreen(ByVal form As Form) As Boolean
Dim screens() As Screen = Screen.AllScreens

For Each scrn As Screen In screens
Dim formRectangle As Rectangle = New Rectangle(form.Left, form.Top, form.Width, form.Height)

If scrn.WorkingArea.Contains(formRectangle) Then
Return True
End If
Next

Return False
End Function

关于vb.net - 检查表单是否在所有屏幕的范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14383514/

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