PDA

View Full Version : سوال: انتخاب سطر در دیتاگرید با راست کلیک روی آن



milad.biroonvand
شنبه 31 مرداد 1388, 19:26 عصر
سلام خدمت برنامه نویسان عزیز

سوالی که داشتم این بود که چطور می تونم هنگامی که روی یک سطر راست کلیک کردیم داخل یک دیتاگرید ویو اون سطر انتخاب بشه ؟
نکته ) من یک منوی context رو فرم اوردم . هر کی این کار رو کرده کدش رو اینجا بزاره

anooshiran
شنبه 31 مرداد 1388, 20:37 عصر
سلام دوست عزيز

از كد هاي زير مي تواني استفاده كني





Private Sub DataGridView1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
Dim hit As DataGridView.HitTestInfo = DataGridView1.HitTest(e.X, e.Y)
If hit.Type = DataGridViewHitTestType.Cell Then
DataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect
DataGridView1.CurrentCell = DataGridView1.Item(hit.ColumnIndex, hit.RowIndex)
DataGridView1.ContextMenuStrip = New ContextMenuStrip
DataGridView1.ContextMenuStrip.BackColor = Color.WhiteSmoke
Dim MenuItem(4) As ToolStripMenuItem
For i As Int16 = 0 To 4
MenuItem(i) = New ToolStripMenuItem
MenuItem(i).Name = i.ToString.Trim
DataGridView1.ContextMenuStrip.Items.Add(MenuItem( i))
AddHandler MenuItem(i).Click, AddressOf MenuItem_Click
Next
MenuItem(0).Text = "آيتم يك"
MenuItem(1).Text = "آيتم دو"
MenuItem(2).Text = "آيتم سه"
MenuItem(3).Text = "آيتم چهار"
MenuItem(4).Text = "آيتم پنج"

DataGridView1.ContextMenuStrip.Show(DataGridView1, New Point(e.Location.X, e.Location.Y))
End If
End If
End Sub
Private Sub MenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)
MsgBox(sender.text, , sender.Name)
End Sub

milad.biroonvand
یک شنبه 01 شهریور 1388, 12:15 عصر
سلام ف كسي راه حل ديگه اي كه ساده تر باشه بلد نيست ؟؟؟

milad.biroonvand
جمعه 14 مهر 1391, 23:13 عصر
اگر از کد زیر استفاده بشه خیلی بهتره



Private Sub DataGridView1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
Dim hit As DataGridView.HitTestInfo = DataGridView1.HitTest(e.X, e.Y)
If hit.Type = DataGridViewHitTestType.Cell Then
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
DataGridView1.CurrentCell = DataGridView1.Item(hit.ColumnIndex, hit.RowIndex)
End If
End If
End Sub

ali_najari
سه شنبه 18 مهر 1391, 21:06 عصر
سلام خدمت برنامه نویسان عزیز

سوالی که داشتم این بود که چطور می تونم هنگامی که روی یک سطر راست کلیک کردیم داخل یک دیتاگرید ویو اون سطر انتخاب بشه ؟
نکته ) من یک منوی context رو فرم اوردم . هر کی این کار رو کرده کدش رو اینجا بزاره


دوست عزیز راحت ترین راه واسه این کار کد زیر است
خیلی ساده و بی دردسر :D




Private Sub DataGridView1_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles DataGridView1.CellMouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
DataGridView1.Rows(e.RowIndex).Selected = True
End If
End Sub



من از خاصیت کلیک موس در سلولها استفاده کردم که نخوام موقعیت موس و سطرمم رو پیدا کنم :D

milad.biroonvand
سه شنبه 18 مهر 1391, 21:22 عصر
سلام

خیلی خوبه .