将表单移动到工作区域的右侧



我想将表单移动到工作区最右边的监视器和最右边的边界。

使用VB6,我使用了vbAccelerator.com的一个代码,如下所示:

    Dim mThis As cMonitor = _cM.MonitorForWindow(Form.Hwnd)
    Dim lMaxRight As Integer
    If Not (mThis Is Nothing) Then
        With Form
            lMaxRight = mThis.WorkRight
            .Left = ((mThis.WorkRight) * -(.Width))
        End With
    Else
        Form.Left = Screen.PrimaryScreen.Bounds.Width - Form.Width
    End If

然而,我认为这并不适用于框架。

因此,我想问一下,是否有一种简单的方法可以对Microsoft.Net Framework进行同样的处理。

谢谢!

此代码将表单定位到vb.Net 的右上角

 Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - Me.Width, 0)

查看Screen.WorkingArea属性。请注意,只有当屏幕以矩形布局(无死区)和水平布局时,这才有效。

一个更好的方法是枚举屏幕(Screen.AllScreens),选择一个看起来最好的屏幕(最右边的边界?或者如果有多个,则是顶部?),然后移动窗体以适应该屏幕的边界。

最新更新