Public Class 進度條視窗 Private Sub 進度條視窗_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub Private Sub 進度條視窗_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown 風格() End Sub Private Sub 風格() If 深色風格 = False Then Me.BackColor = Color.Linen : 主題_lb.ForeColor = Color.Black Else Me.BackColor = Color.Black : 主題_lb.ForeColor = Color.White End If End Sub Dim nOldWndLeft, nOldWndTop, nClickX, nClickY As Integer Protected Overrides Sub WndProc(ByRef m As Message) If m.Msg = 163 AndAlso Me.ClientRectangle.Contains(Me.PointToClient(New Point(m.LParam.ToInt32()))) AndAlso m.WParam.ToInt32() = 2 Then m.WParam = 1 End If MyBase.WndProc(m) If m.Msg = 132 AndAlso m.Result.ToInt32() = 1 Then m.Result = 2 End If End Sub Private Sub 主題_lb_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主題_lb.MouseDown '紀錄滑鼠點選時的視窗位置與滑鼠點選位置 nOldWndLeft = Me.Left : nOldWndTop = Me.Top : nClickX = e.X : nClickY = e.Y End Sub Private Sub 主題_lb_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主題_lb.MouseMove If 主題_lb.Capture = True Then '如果滑鼠按著拖曳 Me.Top = e.Y + nOldWndTop - nClickY : Me.Left = e.X + nOldWndLeft - nClickX '設定新的視窗位置 nOldWndLeft = Me.Left : nOldWndTop = Me.Top '更新紀錄的視窗位置 End If End Sub End Class