![]() |
|
[VB.NET] الغاء حدث الضغط علي راس الاعمدة - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] الغاء حدث الضغط علي راس الاعمدة (/showthread.php?tid=29634) |
الغاء حدث الضغط علي راس الاعمدة - محمد اسماعيل - 17-05-19 السلام عليكم عند الضغط علي راس اي عمود لاول مرة تفتح الواجهة يقوم باختيار وتحديد اول صف من صفوف الداتا جريد اجبارا وانا لا اريد فعل اي شيء عند الضغط علي اي عمود ولكن العملية تتم كيفية الغاء هذا الحدث حاولت بالكود يعمل ولكن بعد ماتتم أول ضغطة علي العمود لاول خلية واختيار كامل الصف كود : Private Sub dataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dataGridView1.CellContentClickRE: الغاء حدث الضغط علي راس الاعمدة - sami4 - 17-05-19 إقتباس :الغاء حدث الضغط علي راس الاعمدة اذهب الى خصائص العمود وغير الخاصيه sortmaode واختار لها notsortable واذا بالكود DataGridview1.columns(1).sortMode=dataGridViewColumnSortMode.notSortable إقتباس :عند الضغط علي راس اي عمود لاول مرة تفتح الواجهة يقوم باختيار وتحديد اول صف من صفوف الداتا جريد اجبارا اذا تقصد الغاء الاختيارات فهذا هو كود الغاء الاختيارات DatagridView1.clearSelection RE: الغاء حدث الضغط علي راس الاعمدة - محمد اسماعيل - 18-05-19 (17-05-19, 11:50 PM)sami4 كتب :إقتباس :الغاء حدث الضغط علي راس الاعمدة الكود الي وضعتة خاص بترتيب بيانات الاعمدة تصاعديا او تنازليا اما كود الاختيار لا يعمل ايضا يبقي السهم براس اول صف RE: الغاء حدث الضغط علي راس الاعمدة - sami4 - 18-05-19 (18-05-19, 12:10 AM)محمد اسماعيل كتب :(17-05-19, 11:50 PM)sami4 كتب :إقتباس :الغاء حدث الضغط علي راس الاعمدة انت تقصد السهم لا تريد ان يظهر هذا الكود فيه جزء لاعادت رسم خلفيه راس السطر بدو السهم لاحظ في الكود تم استخدام الحدث prepaint وليس postpaint الذ في السابق فنقت الكود من الحدث السابق postpain الى داخل هذا الحدث prepaint ولا ادري ما الفرق بينهم Private Sub DataGridView1_RowPrePaint(sender As Object, e As DataGridViewRowPrePaintEventArgs) Handles DataGridView1.RowPrePaint e.Handled = True e.PaintCells(e.ClipBounds, DataGridViewPaintParts.All) e.PaintHeader(DataGridViewPaintParts.Background Or _ DataGridViewPaintParts.Border Or _ DataGridViewPaintParts.Focus Or _ DataGridViewPaintParts.SelectionBackground Or _ DataGridViewPaintParts.ContentForeground) Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16) If sender.RightToLeft = RightToLeft.Yes Then r.X = sender.Width - sender.RowHeadersWidth + 3 If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then e.Graphics.DrawImage(Me.ImageList1.Images("img1"), r) End If End Sub استخدام الحدث prepaint وجدتها بعد البحث في اغلب المواقع لاخفاء السهم RE: الغاء حدث الضغط علي راس الاعمدة - محمد اسماعيل - 18-05-19 (18-05-19, 12:31 AM)sami4 كتب :(18-05-19, 12:10 AM)محمد اسماعيل كتب :(17-05-19, 11:50 PM)sami4 كتب :إقتباس :الغاء حدث الضغط علي راس الاعمدة فعلا اخي سامي تم حل المشكلة جزاك اللَّة كل الخير عن الجميع |