03-10-12, 01:39 PM
كاتب الموضوع : samerselo
- الهدف من حلقة النقاش هذه هي أن نغطي جميع جوانب موضوع السحب والإفلات في بيئة الدوت نيت بحيث نجعل من هذا الموضوع مرجعا متكاملا قدر الإمكان لموضوع السحب والإفلات في بيئة الدوت نيت
- يرجى الالتزام في جميع الردود بالجدية والموضوعية وعدم وضع مشاركات شكر أو أية مشاركات أخرى لاتفيد في نقاش الموضوع الذي نناقشه وأية ردود تعتبر خارجة عن الموضوع سيتم حذفها بإذن الله
هذا مثال سريع مدعم بالتعليقات العربية لسحب عناصر من قائمة ListBox1 وإضافتها لقائمة ثانية ListBox2
كود :
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' تجهيز صندوق القائمة الثاني ليقبل الإلقاء
Me.ListBox2.AllowDrop = True
End Sub
Private Sub ListBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseMove
' عند الضغط على زر الفأرة اليساري عند تحريك الفأرة قم بتحميل النص في حدث السحب
If e.Button = Windows.Forms.MouseButtons.Left Then
Me.ListBox1.DoDragDrop(Me.ListBox1.Text, DragDropEffects.Copy)
End If
End Sub
Private Sub ListBox2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox2.DragEnter
' عند الدخول للقائمة ووجود بيانات سحب نصية قم بإظهار مؤشر مناسب
' يدل على قبول صندوق القائمة للعملية
If e.Data.GetDataPresent(DataFormats.Text) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub ListBox2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox2.DragDrop
' إن كانت البيانات نصية أضفها إلى صندوق القائمة
If e.Data.GetDataPresent(DataFormats.Text) Then
Me.ListBox2.Items.Add(e.Data.GetData(DataFormats.Text))
End If
End Sub