vb.net mouse click


How can I get the mouse to perform a right click instead of a left click when a user clicks the left mouse button in a specific datgridview column?
Who is Participating?
Wayne Taylor (webtubbs)Commented:
You can determine if it's a new row that has been clicked by comparing e.RowIndex and DataGridView1.NewRowIndex in the CellMouseClick event. If they are equal, the new row has been clicked.
Wayne Taylor (webtubbs)Commented:
It'll be easier to handle the left click and perform your desired action when a cell in that column has been clicked.

You can do this in the Datagridview's CellMouseClick event and check the ColumnIndex...

Private Sub DataGridView1_CellMouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseClick
        If e.Button = Windows.Forms.MouseButtons.Left And e.ColumnIndex = 4 Then
            'perform your action here
        End If
End Sub

Open in new window

FCapoAuthor Commented:

the problem I'm having is when a user right clicks on a new row in the datagridview under a specific column, I set it to open up a form with various text strings, the user then chooses the string he wants by double clicking it, the form then closes and places the string he selected in the datagridview CELL that was last selected.

This works great on existing rows in the datagridview, but if they right click on a new row, the cell doesn't actually get selected, so when they choose the string, it will place it in the previous row's cell, just like is shown in the attached imagePic
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.