PDA

View Full Version : سوال: تنظیم خودکار شیئ روی فرم



AliRezaBeytari
چهارشنبه 02 اسفند 1391, 14:07 عصر
سلام دوستان.
اگر بازی های پازل رو دیده باشید وقتی که با موس یه عکس رو در جایی بر روی فرم رها می کند ؛ جای آن عکس به طور خود کار تنظیم میشود.


من برای حرکت اشیاء بر روی فرم از کد زیر استفاده می کنم:
Public Class Form1
Public x1, y1

Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
x1 = e.X
y1 = e.Y
End Sub

Private Sub PictureBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
Me.Left -= x1 - e.X
Me.Top -= y1 - e.Y
End If
End Sub
End Class



ولی نمیدونم چطوری مکان آن هار رو هنگام تغییر مکان تنظیم کنم؟؟

AliRezaBeytari
چهارشنبه 02 اسفند 1391, 16:13 عصر
کسی نبود؟؟؟

zahedi121
چهارشنبه 02 اسفند 1391, 17:20 عصر
به عنوان یک ایده :
برای عکس یک محدوده مشخص کن که اگر رویداد ماوس آپ در این محدوده بود ، تصویر سر جاش بشینه .



Private Sub PictureBox1_Mouseup(sender As Object, e As MouseEventArgs)
Handles PictureBox1.Mouseup


x1 = e.X


y1 = e.Y
if x1<..... and x1>=........and y1<...... and y1>=..... then

x2= مکان دقیق
y2 = مکان دقیق
end if
End Sub

بعد هم تنظیمات بالا و چپ عکس بشه همین x2 , y2 و عکس از حالت حرکت با ماوس خارج بشه
الان باید برم . اگر حل نشد بگین بیشتر روش کار می کنیم

AliRezaBeytari
پنج شنبه 03 اسفند 1391, 09:25 صبح
بیشتر توضیح بدید.

AliRezaBeytari
شنبه 05 اسفند 1391, 16:39 عصر
پس چی شد!!!؟؟؟:گریه:

AliRezaBeytari
یک شنبه 06 اسفند 1391, 13:32 عصر
یعنی واقعا کسی نمی دونه؟:عصبانی++:

zahedi121
یک شنبه 06 اسفند 1391, 18:57 عصر
اون ایده ای که من دادم اینطوریه : شما یک مختصاتی را برای عکستون روی فرم در نظر می گیرید . مثلا می گید عکس باید در محلی با left = 100 و top = 50 قرار بگیره . حالا می خواهیم تعریف کنیم که اگر ماوس در یک مستطیل با مختصات گوشه چپ و بالا 10 و 20 و گوشه راست پایین 300و200 عکس را رها کرد عکس بره در همون 100و50 بچسبه .
میام در رویداد ماوس آپ عکس می نویسیم که اگر مختصات x بین 10 و 300 است و y بین 20 و 200 left و top عکس بشه 100 و 50 و tag عکس هم بشه 1 .
حالا در رویداد های حرکت ماوس و کلیک شرط میگذاید اگر tag عکس 1 بود هیچ کاری نکنه وگرنه همون کدی که نوشتید.

موفق باشید

AliRezaBeytari
یک شنبه 06 اسفند 1391, 20:05 عصر
آقا خودم امروز فبل از این که شما تایپیکتون رو بزارید ، فهمیدم.از کمک هی شما هم ممنونم.