فقط با كپي كردن كد زير درون قسمت كد يه فرم ميشه اون رو بدون گرفتن قسمت Caption Bar و با كليك و دراگ كردن هر قسمت اون جابجا كرد.
[code:1]Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static oldX As Integer, oldY As Integer
If Button = vbLeftButton Then
Me.Move Me.Left - (oldX - X), Me.Top - (oldY - Y)
Else
oldX = X
oldY = Y
End If
End Sub
[/code:1]
نكته جالب اون اينه كه حتي اگه كامپيوتري كه اونو اجرا ميكنه قابليت ديده شدن فرمها در حين حركت رو فعال نكرده باشه, بازم در هنگام حركت كل فرم (بر خلاف معمول كه فقط حاشيه دورش ديده ميشه) ديده ميشه.
يه چند وقتيه خودم براي برنامه هام از اين روش استفاده ميكنم. تاحالا كه مشكلي ازش نديدم.
اينم بگم كه ميشه اين كد رو با تغيير Me ها به يه Picture Box هم نسبت داد و مثلا يه Caption Bar عمودي درست كرد كه خيلي هم باكلاسه.
[code:1]Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static oldX As Integer, oldY As Integer
If Button = vbLeftButton Then
Me.Move Me.Left - (oldX - X), Me.Top - (oldY - Y)
Else
oldX = X
oldY = Y
End If
End Sub
[/code:1]
نكته جالب اون اينه كه حتي اگه كامپيوتري كه اونو اجرا ميكنه قابليت ديده شدن فرمها در حين حركت رو فعال نكرده باشه, بازم در هنگام حركت كل فرم (بر خلاف معمول كه فقط حاشيه دورش ديده ميشه) ديده ميشه.
يه چند وقتيه خودم براي برنامه هام از اين روش استفاده ميكنم. تاحالا كه مشكلي ازش نديدم.
اينم بگم كه ميشه اين كد رو با تغيير Me ها به يه Picture Box هم نسبت داد و مثلا يه Caption Bar عمودي درست كرد كه خيلي هم باكلاسه.