2

Windows の Aero 機能を Visual Basic 2013 のボーダーレス Windows フォームに戻す方法を探しています。タイトルバーのカスタム コンポーネントをコーディングして、独自の背景/デザインを設定できるようにしました。最小化、最大化、および閉じるボタン。ただし、次のような Windows Aero プロパティを元に戻す方法を見つけるのに問題があります。

  • を画面の上または横にドラッグしてサイズを変更します
  • サイズ変更/最小化/最大化時のアニメーション

Google Chrome や Visual Studio にあるようなカスタム フォームを作成しています。エアロ機能は私の唯一の問題です。Visual Basic 2013 でボーダレス フォームに追加する方法を知っている人はいますか?

4

1 に答える 1

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
于 2016-12-08T23:42:32.100 に答える