VB 2013: Включение Aero в форме без полей

Я ищу способ добавить функции Aero Windows обратно в форму окон без полей в Visual Basic 2013. Я закодировал пользовательский компонент для строки заголовка, чтобы можно было установить для него свой собственный фон/дизайн, а также свернуть, развернуть и закрыть кнопки. Однако у меня возникают проблемы с поиском способа вернуть свойства Windows Aero, например:

  • перетащите вверх или по бокам экрана, чтобы изменить его размер
  • анимация при изменении размера/сворачивании/разворачивании

Я делаю пользовательскую форму, например, в Google Chrome и Visual Studios. Функциональность Aero - моя единственная проблема. Кто-нибудь знает, как добавить его в форму без полей в Visual Basic 2013?


person NicJames2378    schedule 23.09.2014    source источник


Ответы (1)


Частичный ответ, который может помочь:

Без границ формы единственный способ заставить работать часть изменения размера — использовать панели со всех сторон, используя события мыши для управления действиями. Панели были прозрачными, но событие ввода мыши также облегчало изменение события курсора.

'**************************************************
    '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
person J.Harrison    schedule 08.12.2016