فکر کنم به چنین چیزی احتیاج دارید:
برای کار کردن باهاش 4 تا دکمه به نام های cmdTop , cmdBotton , cmdLeft , cmdRight روی یک فرم بزارید و کل کد زیر رو در قسمت کد فرمتون کپی کنید. یه کم کار داره (botton و right اش) . در اولین فرصت تکمیلش می کنم.
در ضمن با تغیر resolution هم تغیر سایز می ده!
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = 126 Or m.Msg = 26 Then
Form1_DockChanged(New Object, New System.EventArgs)
End If
MyBase.WndProc(m)
Private Sub cmd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLeft.Click, cmdRight.Click, cmdTop.Click, cmdBottom.Click
Select Case sender.name
Case "cmdTop"
Me.Dock = DockStyle.Top
Case "cmdLeft"
Me.Dock = DockStyle.Left
Case "cmdBottom"
Me.Dock = DockStyle.Bottom
Case "cmdRight"
Me.Dock = DockStyle.Right
End Select
End Sub
Private Sub Form1_DockChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.DockChanged
Dim w As Integer = SystemInformation.WorkingArea.Width
Dim h As Integer = SystemInformation.WorkingArea.Height
Dim x As Integer = SystemInformation.WorkingArea.X
Dim y As Integer = SystemInformation.WorkingArea.Y
Select Case Me.Dock
Case DockStyle.Top
Me.Width = w
Me.Height = 100
Me.Top = y
Me.Left = x
Case DockStyle.Left
Me.Width = 100
Me.Height = h
Me.Top = y
Me.Left = x
Case DockStyle.Bottom
Me.Width = w
Me.Height = 100
Me.Top = h - y - 100
Me.Left = x
Case DockStyle.Right
Me.Width = 100
Me.Height = h
Me.Top = y
Me.Left = w - x - 100
End Sub