2014-09-23 1 views
2

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

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

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

ответ

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