У меня есть приложение, написанное на VS.NET Visual Basic в Visual Studio 2005.
Он имеет форму Windows с элементом управления DataGridView
для отображения данных, извлеченных из базы данных.
Я хочу, чтобы пользователь мог щелкнуть правой кнопкой мыши запись, увидеть контекстное меню и иметь возможность щелкнуть «Удалить», чтобы удалить только эту запись из базы данных.
К сожалению, я даже не могу опустить мышь или щелкнуть события для запуска (в режиме отладки с установленными точками останова)
вот мой код:
Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
MessageBox.Show("You right-clicked on the grid at", "Unpaid", MessageBoxButtons.OK)
End Sub
Private Sub DataGridView1_CellMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDoubleClick
MessageBox.Show("You right-clicked on the grid at", "Unpaid", MessageBoxButtons.OK)
End Sub
Private Sub DataGridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then
MessageBox.Show("Clicked right")
else
MessageBox.Show("Clicked left")
End If
Dim r As Rectangle
if (e.RowIndex >= 0 && e.ColumnIndex >= 0 && e.Button == MouseButtons.Right)
DataGridView1.Rows(e.RowIndex).Selected = True
r = DataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, True)
contextMnu.Show(DataGridView1, r.Left + e.X, r.Top + e.Y)
End If
End Sub
Private Sub DeleteChequeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteChequeToolStripMenuItem.Click
MessageBox.Show("You right-clicked on the grid", "Unpaid", MessageBoxButtons.OK)
End Sub
Как видите, я пытаюсь вызвать какое-то событие, любое событие, и ни один из кодов не запускается, когда я щелкаю правой или даже левой кнопкой мыши.
Кстати, во время выполнения в сетке есть данные, и, насколько мне известно, они включены.
Так что я делаю неправильно здесь? Есть ли какая-то функция, которую мне нужно добавить в элемент управления DataGridView
?