السلام عليكم.اخواني كيف اقدر أسحب الصور 2 و 3 و 4 فوق الصورة الكبيرة رقم 1
اسحبهم في المكان الذي تكون به مؤشر الماوس فوق الصورة الكبيرة رقم 1و ليس فوق الصورة رقم 1 كلها بطريقة اني يمكن اسحب مثلا الصورة رقم 2 في عدة اماكن فوق الصورة رقم 1 بارك الله فيكم
Private Sub PictureBox_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox3.MouseDown, PictureBox2.MouseDown, PictureBox4.MouseDown
M = True
sender.BringToFront()
x = e.X : y = e.Y
End Sub
Private Sub PictureBox_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox3.MouseMove, PictureBox2.MouseMove, PictureBox4.MouseMove
If M Then
sender.location = New Point(sender.location.x + e.X - x, sender.location.y + e.Y - y)
End If
End Sub
Private Sub PictureBox_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox3.MouseUp, PictureBox2.MouseUp, PictureBox4.MouseUp
M = False
End Sub
بارك الله فيك اخي 3booody على المساعدة . هي تقريبا مثل هكذا مثال .لكن الصور رقم 2 و رقم 3 و رقم 4 يبقو في مكانهم لانهم الموديل و يمكن اسحب الصور 2 و 3 و 4 فوق الصورة رقم 1 عدة مرات
يعني عندي صورة سيارة و التي هي الصورة رقم 1 . و الصور 2 و 3 و 4 تمثل انواع الاضرار . اريد لما يكون هناك ضرر في منطقة معينة اسحب نوعه فوق المكان المناسب و قد يكون نفس الضرر بأمكام عدة مختلفة من السيارة . الفكرة كلها لمعاينة الاضرار بارك الله فيك
04-11-19, 12:10 PM (آخر تعديل لهذه المشاركة : 04-11-19, 01:44 PM {2} بواسطة 3booody.)
تفضل اخي وعذرآ عالتأخير شويا القياسات كانت متعبة وبالنسبة لقياسات الصورة انا عملتها على قياسات العندي اذا صارت عندك مشكلة فقط غير القياسات
الكود عملته عن طريق الرسم واذا اردت تحريك الصورة ايضآ عند نقلها حتى اغير الكود وما اعمله عن طريق الرسم
كود :
Dim x, y As Integer
Dim wid As Integer = 0
Private Sub PictureBox_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox3.MouseDown, PictureBox2.MouseDown, PictureBox4.MouseDown
Clipboard.SetImage(CType(sender, PictureBox).Image)
x = e.X : y = e.Y
Cursor = Cursors.NoMove2D
End Sub
Private Sub PictureBox_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox3.MouseUp, PictureBox2.MouseUp, PictureBox4.MouseUp
Dim gr As Graphics = PictureBox1.CreateGraphics
If sender Is PictureBox2 Then
gr.DrawImage(Clipboard.GetImage, wid + e.X, e.Y - 12, 40, 40)
ElseIf sender Is PictureBox3 Then
gr.DrawImage(Clipboard.GetImage, wid + e.X, e.Y + PictureBox3.Location.Y - 24, 40, 40)
ElseIf sender Is PictureBox4 Then
gr.DrawImage(Clipboard.GetImage, wid + e.X, e.Y + PictureBox4.Location.Y - 24, 40, 40)
End If
Cursor = Cursors.Default
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
wid = PictureBox1.Width
End Sub