1

在 VB6 中,我有以下代码来停靠窗口:

Public Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    If IsBeingDragged = True And Button = MouseButtons.Left Then
        'if the drag flag is true and left mouse button is pressed...

        'set Left side  docking
        If Me.Left + (x - Xs) < DockScale Then
            Me.Left = 0
            Exit Sub
        End If
        'set Top side docking
        If Me.Top + (y - Ys) < DockScale Then
            Me.Top = 0
            Exit Sub
        End If

        'set right side docking
        If Me.Left + (x - Xs) + Me.Width > (Screen.Width - DockScale) Then
            Me.Left = Screen.Width - Me.Width
            Exit Sub
        End If

        'set bottom side docking
        If Me.Top + (y - Ys) + Me.Height > (Screen.Height - DockScale) Then
            Me.Top = Screen.Height - Me.Height
            Exit Sub
        End If

        'move the form finally
        Me.Left = Me.Left + (x - Xs)
        Me.Top = Me.Top + (y - Ys)
    End If
End Sub

我现在正在使用 vb.net,当我尝试复制和粘贴时,我的代码告诉我 screen.widht 和 screen.height 不是 systems.window.form.screen 的成员,在 vb 上是否有与此等效的内容。网?

4

1 回答 1

1

在 VB.NET 中访问屏幕尺寸的示例代码:

Dim curScreen As Screen
curScreen = Screen.PrimaryScreen 'curScreen = Screen.AllScreens(0)
Dim height As Integer = curScreen.Bounds.Height
height = curScreen.WorkingArea.Height

您必须选择所需的屏幕,然后决定要处理的“框架”:(Bounds全屏)或WorkingArea(不包括任务栏的全屏)。

于 2013-11-02T18:29:01.207 回答