(17-05-19, 08:07 AM)محمد اسماعيل كتب : [ -> ]السلام عليكم
عندي داتاجريد فيو فية اسماء وعندي تيكست بوكس اريد عند وضع نفس قيمة التقيم الموجودة بخلية الداتاجريد للعميل المحدد يتم اضافة ايقونة من الريسورس او imagelist
الي راس صفوف الداتاجريد وتتغير الايقونة برمجيا عند تغيير القيمة
هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في الريسورس
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
e.Graphics.DrawImage(My.Resources.img1, r)
End If
End Sub
هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في imagelist
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
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
وهذا الحدث لتحديث الايقونات اذا تغيرت قيمه خليه
Private Sub DataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
DataGridView1.Invalidate()
End Sub
وهذا كدث تغير قيمه التيكست بوكس
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
DataGridView1.Invalidate()
End Sub