DataGridView.CellMouseClick DataGridView.CellMouseClick DataGridView.CellMouseClick DataGridView.CellMouseClick Event

Definición

Aparece siempre que el usuario hace clic en cualquier parte de una celda con el mouse.Occurs whenever the user clicks anywhere on a cell with the mouse.

public:
 event System::Windows::Forms::DataGridViewCellMouseEventHandler ^ CellMouseClick;
public event System.Windows.Forms.DataGridViewCellMouseEventHandler CellMouseClick;
member this.CellMouseClick : System.Windows.Forms.DataGridViewCellMouseEventHandler 
Public Custom Event CellMouseClick As DataGridViewCellMouseEventHandler 

Ejemplos

En el ejemplo de código siguiente se muestra el uso de este miembro.The following code example demonstrates the use of this member. En el ejemplo, un controlador de eventos informa sobre la aparición del CellMouseClick evento.In the example, an event handler reports on the occurrence of the CellMouseClick event. Este informe le ayuda a saber cuándo se produce el evento y puede ayudarle a depurar.This report helps you to learn when the event occurs and can assist you in debugging. Para notificar varios eventos o eventos que se producen con frecuencia, considere MessageBox.Show la Console.WriteLine posibilidad de reemplazar por o anexar el TextBoxmensaje a una multilínea.To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

Para ejecutar el código de ejemplo, péguelo en un proyecto que contenga una instancia de DataGridView tipo DataGridView1denominada.To run the example code, paste it into a project that contains an instance of type DataGridView named DataGridView1. A continuación, asegúrese de que el controlador de eventos CellMouseClick está asociado al evento.Then ensure that the event handler is associated with the CellMouseClick event.

private void DataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "ColumnIndex", e.ColumnIndex );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "RowIndex", e.RowIndex );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Button", e.Button );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Clicks", e.Clicks );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "X", e.X );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Y", e.Y );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Delta", e.Delta );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Location", e.Location );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "CellMouseClick Event" );
}
Private Sub DataGridView1_CellMouseClick(sender as Object, e as DataGridViewCellMouseEventArgs) _ 
     Handles DataGridView1.CellMouseClick

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "ColumnIndex", e.ColumnIndex)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "RowIndex", e.RowIndex)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Button", e.Button)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Clicks", e.Clicks)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "X", e.X)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Y", e.Y)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Delta", e.Delta)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Location", e.Location)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"CellMouseClick Event")

End Sub

Comentarios

Este evento se produce cuando el usuario hace clic con cualquiera de los botones del mouse.This event occurs when the user clicks using any of the mouse buttons. Use la MouseEventArgs.Button propiedad para determinar en qué botón se hizo clic.Use the MouseEventArgs.Button property to determine which button was clicked.

Para detectar clics en el contenido de una celda, como un botón o un vínculo dentro de una celda, utilice CellContentClick el evento.To detect clicks on the contents of a cell, such as a button or link within a cell, use the CellContentClick event.

El controlador de este evento recibe el índice de columna y el índice de fila de la posición del puntero del mouse.The handler for this event receives the column index and row index of the mouse pointer position.

En el caso de los DataGridViewCheckBoxCellclics en, este evento se produce antes de que la casilla cambie de valor, por lo que si no desea calcular el valor esperado basándose en el valor actual CellValueChanged , normalmente tratará el evento en su lugar.For clicks in a DataGridViewCheckBoxCell, this event occurs before the check box changes value, so if you do not want to calculate the expected value based on the current value, you will typically handle the CellValueChanged event instead. Dado que ese evento solo se produce cuando se confirma el valor especificado por el usuario, que normalmente se produce cuando el foco abandona la celda, CurrentCellDirtyStateChanged también debe controlar el evento.Because that event occurs only when the user-specified value is committed, which typically occurs when focus leaves the cell, you must also handle the CurrentCellDirtyStateChanged event. En ese controlador, si la celda actual es una celda de casilla, llame al CommitEdit método y pase el Commit valor.In that handler, if the current cell is a check box cell, call the CommitEdit method and pass in the Commit value.

Para obtener más información acerca de cómo controlar eventos, vea controlar y provocar eventos.For more information about how to handle events, see Handling and Raising Events.

Se aplica a

Consulte también: