PDA

View Full Version : سوال: سوال در مورد حرکت عمودی فرم



VBdotNet
پنج شنبه 09 مهر 1388, 20:15 عصر
به چه شکل می شه یک فرم را با کلیک ماوس به صورت افقی حرکت داد یعنی مثلا ما یک فرم داریم که با کلیک روی هر قسمت آن بتونیم فرم را حرکت بدیم ولی نه به هر طرف فقط به طرف Y یا عمودی و درواقع X یا افق قفل باشه . :متفکر:

shask00l
پنج شنبه 09 مهر 1388, 23:06 عصر
برای این کار باید توی رویداد های ماوس کد بنویسی. mousemove و mousedown مربوط به فرمت . به این صورت که وقتی ماوس حرکت میکنه وضعیت کلید دلخواه روی ماوس چک بشه . اگه پایین بود فرم به همون اندازه ای که نشانگر ماوس نسبت به نقطه قبلی جابجا شده باید جابجا بشه . برای یک جهته کردن هم کافیه بخش مربوط به اون جهت رو غیرفعال کنی.

VBdotNet
جمعه 10 مهر 1388, 00:10 صبح
برای این کار باید توی رویداد های ماوس کد بنویسی. mousemove و mousedown مربوط به فرمت . به این صورت که وقتی ماوس حرکت میکنه وضعیت کلید دلخواه روی ماوس چک بشه . اگه پایین بود فرم به همون اندازه ای که نشانگر ماوس نسبت به نقطه قبلی جابجا شده باید جابجا بشه . برای یک جهته کردن هم کافیه بخش مربوط به اون جهت رو غیرفعال کنی.

اگه کدش رو برام بذارین ممنون می شم . :قلب:

sari-1369
جمعه 10 مهر 1388, 00:36 صبح
Dim y As Integer

Private Sub login_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
y = e.Y
End Sub

Private Sub login_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
Me.Top = Windows.Forms.Cursor.Position.Y - y
End If
End Sub