منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كليك يمين على صف في الداتاقريد و حذف السطر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كليك يمين على صف في الداتاقريد و حذف السطر (/showthread.php?tid=35209)



كليك يمين على صف في الداتاقريد و حذف السطر - larbihamri - 12-06-20

السلام عليكم و رحمة الله
اخواني كيف يمكنني ان اعمل كليك يمين على الداتاقريد و حذف السطر لكن بشرط ان يظهر ContextMenuStrip فوق السطر المحدد فقط دون المنطقة الرمادية
[صورة مرفقة: p_1624plv801.png]
بارك الله في الجميع


RE: كليك يمين على صف في الداتاقريد و حذف السطر - larbihamri - 15-06-20

نرجوا المساعدة في أقرب الأجال بارك الله فيكم و جزاكم خيرا


RE: كليك يمين على صف في الداتاقريد و حذف السطر - عبد العزيز البسكري - 15-06-20

المشكلة أخي العربي ليست في الكليك يمين و حذف السطر المحدد .. و لكن في قصّة المنطقة الرمادية .. منذ الأمس و أنا أجرب و لم أتوصّل للحل المناسب .. إن شاء الله تجد ما يناسبك و أخبرنا به ..
تحياتي



RE: كليك يمين على صف في الداتاقريد و حذف السطر - kiki - 15-06-20

وعليكم السلام ورحمة الله وبركاته
حتى لا يذهب مجهود الاخ عبد العزيز البسكري

خصوصاً عند قوله
(15-06-20, 12:49 AM)عبد العزيز البسكري كتب :
امنذ الأمس و أنا أجرب و لم أتوصّل للحل المناسب ..

فاحببت اقوم بالشرح على المثل الخاص به لتوضح الصورة
فقط تعال على مشروعه وقم فى خصائص DataGridView1
عند خيار ContextMenuStrip واجعل قيمتها None

الان كل ما عليك اضافة الكود التالى
كود :
   Private Sub DataGridView1_CellMouseDown(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown
       Dim rowClicked As DataGridView.HitTestInfo = DataGridView1.HitTest(e.X, e.Y)
       Dim getLocation As String() = Me.PointToClient(MousePosition).ToString().Replace("{", Nothing).Replace("}", Nothing).Replace("Y=", Nothing).Replace("X=", Nothing).Split(",")
       If e.Button = Windows.Forms.MouseButtons.Right AndAlso e.RowIndex > -1 Then
           DataGridView1.ClearSelection()
           DataGridView1.Rows(e.RowIndex).Selected = True
           ContextMenuStrip1.Show(DataGridView1, New Point(getLocation(0) - 10, getLocation(1) - 40))
       End If
   End Sub

الان كل ما عليك هو لكي يرفع او تقوم باذاحة القائمة وكذلك لليمين او اليسار
التعديل على كلاً من -10 و -40 لكى تلاحظ الفرق وبكده يتم عمل المطلوب



RE: كليك يمين على صف في الداتاقريد و حذف السطر - عبد العزيز البسكري - 15-06-20

بارك الله فيك و لك و جزاك خير الجزاء أخي الغالي kiki
فعلاً .. تمّت العملية بنجاح و بطريقة رائعة
تحياتي و تقييماتي



RE: كليك يمين على صف في الداتاقريد و حذف السطر - rochdi191 - 15-06-20

نفس الطريقة ابحث عليها مع عملية نسخ ولصق ارجوا المساعدة


RE: كليك يمين على صف في الداتاقريد و حذف السطر - kiki - 15-06-20

(15-06-20, 02:13 AM)عبد العزيز البسكري كتب :
بارك الله فيك و لك و جزاك خير الجزاء أخي الغالي kiki
فعلاً .. تمّت العملية بنجاح و بطريقة رائعة
تحياتي و تقييماتي

من بعض ما عندكم اخر الكريم

(15-06-20, 02:56 AM)rochdi191 كتب : نفس الطريقة ابحث عليها مع عملية نسخ ولصق ارجوا المساعدة

كل الامر فقط التعديل على قائمة ContextMenuStrip
واضف ما تريده اخي الفاضل


RE: كليك يمين على صف في الداتاقريد و حذف السطر - larbihamri - 16-06-20

الأخ Kiki
بارك الله فيك و أهلك و زادك الله علما

إذا تفضلت اخي لماذا قمت بإنقاص -10 و -40 من location


RE: كليك يمين على صف في الداتاقريد و حذف السطر - kiki - 16-06-20

(16-06-20, 12:16 AM)larbihamri كتب : إذا تفضلت اخي لماذا قمت بإنقاص -10 و -40 من location

فقط لتوضيح كيف التلاعب فى ابعاد القائمة للاعلى والاسفل وكذلك يمين ويسار كا مظهر
فى بعض الاحول يختلف الامر من شخص لاخر انه يريد جعل القائمة بنقطة الكل تماماً والاخر متباعدة عن المؤشر بمسافة ما
ولهذا تم وضع كلاً من -10 و -40 لتوضيح كيفية التعامل مع الامر دون الجاحة للسؤال مستقبلياً كيف يمكننى تغير موقع القائمة من المؤشر
طبعاً لو جعلتها 0 او بدون عملية الطرح والجمع ستكون الظهور الافتراضي لها


RE: كليك يمين على صف في الداتاقريد و حذف السطر - larbihamri - 17-06-20

بارك الله فيك جزاك الله خيرا