投稿者 るきお  (社会人) 投稿日時 2014/10/29 22:40:35
タイトルバーを使わずにフォームをドラッグできるようにするのに、半透明を利用する必要はありません。

サンプルをこちらで公開しているので参考にしてください。
http://homepage1.nifty.com/rucio/main/dotnet/Samples/Sample067MoveForm.htm

この例を応用すれば特定のコントロールにタイトルバーのようなドラッグ機能をつけることもできます。

次の例ではPanel1をタイトルバーのようにドラッグしてウィンドウを移動できます。
Public Class Form1
    Private Declare Function SendMessage Lib "User32.dll" Alias "SendMessageA" (ByVal hWnd As IntPtr, ByVal wMsg As IntegerByVal wParam As IntegerByVal lParam As IntegerAs Long
    Private Declare Sub ReleaseCapture Lib "User32.dll" ()

    Const WM_NCLBUTTONDOWN = &HA1
    Const HTCAPTION = 2

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Panel1.BackColor = Color.Blue
    End Sub

    Private Sub Panel1_MouseMove(sender As Object, e As MouseEventArgs) Handles Panel1.MouseMove
        If e.Button = MouseButtons.Left Then
            Call ReleaseCapture()
            Call SendMessage(Me.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
        End If
    End Sub
End Class