VB 2013:在无边框表单上启用Aero

时间:2014-09-23 03:33:14

标签: vb.net aero borderless

我正在寻找一种方法将Windows的Aero功能添加回Visual Basic 2013中的bordlerless窗体。我为标题栏编写了一个自定义组件,允许为它设置我自己的背景/设计,如以及最小化,最大化和关闭按钮。但是,我遇到了问题,找到了使Windows Aero属性恢复的方法,例如:

  • 拖动到屏幕的顶部或侧面以更改其大小
  • 调整大小/最小化/最大化时的动画

我正在制作一个自定义外观的表单,例如Google Chrome和Visual Studios中的表单。 Aero功能是我唯一的问题。有没有人碰巧知道如何在Visual Basic 2013中将它添加到无边框表单?

1 个答案:

答案 0 :(得分:0)

部分答案可能有所帮助:

如果没有表单边框,我能够让调整大小部分工作的唯一方法是使用所有方面的面板使用鼠标事件来控制操作。面板是透明的,但鼠标输入事件也有助于更改光标事件。

'**************************************************
    'MouseDown = User clicks the button
    'MouseMove = User is holding down the left mouse button and moves the mouse.  Simulates top of a regular form
    'MouseUp = User releases the mouse button 
    '**************************************************
    Private Sub Panel1_MouseDown(sender As Object, e As MouseEventArgs) Handles Panel1.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Left Then
            drag = True
            mouse_x = Windows.Forms.Cursor.Position.X - Me.Left
            mouse_y = Windows.Forms.Cursor.Position.Y - Me.Top
        End If
    End Sub
    Private Sub Panel1_MouseMove(sender As Object, e As MouseEventArgs) Handles Panel1.MouseMove
        If drag Then
            Me.Top = Windows.Forms.Cursor.Position.Y - mouse_y
            Me.Left = Windows.Forms.Cursor.Position.X - mouse_x
        End If
    End Sub
    Private Sub Panel1_MouseUp(sender As Object, e As MouseEventArgs) Handles Panel1.MouseUp
        drag = False
    End Sub