Comparteix a través de


DataGridView.CellClick Evento

Definición

Se produce cuando se hace clic en cualquier parte de una celda.

public:
 event System::Windows::Forms::DataGridViewCellEventHandler ^ CellClick;
public event System.Windows.Forms.DataGridViewCellEventHandler CellClick;
public event System.Windows.Forms.DataGridViewCellEventHandler? CellClick;
member this.CellClick : System.Windows.Forms.DataGridViewCellEventHandler 
Public Custom Event CellClick As DataGridViewCellEventHandler 

Tipo de evento

Ejemplos

En el ejemplo de código siguiente se muestra un CellClick controlador de eventos en una implementación del juego Tic-Tac-Toe que usa columnas de imagen en un DataGridView control . A menos que se supere el juego o ya se haya hecho clic en la celda, el controlador de eventos establece el valor de celda en uno de los dos Bitmap objetos representados por las variables x y o.

Este código forma parte de un ejemplo más grande que se muestra en Cómo: Trabajar con columnas de imagen en el control DataGridView de Windows Forms.

void dataGridView1_CellClick( Object^ sender, DataGridViewCellEventArgs^ e )
{
   if ( turn->Equals( gameOverString ) )
   {
      return;
   }

   DataGridViewImageCell^ cell = dynamic_cast<DataGridViewImageCell^>(dataGridView1->Rows[ e->RowIndex ]->Cells[ e->ColumnIndex ]);
   if ( cell->Value == blank )
   {
      if ( IsOsTurn() )
      {
         cell->Value = o;
      }
      else
      {
         cell->Value = x;
      }

      ToggleTurn();
   }

   if ( IsAWin( cell ) )
   {
      turn->Text = gameOverString;
   }
}
private void dataGridView1_CellClick(object sender,
    DataGridViewCellEventArgs e)
{

    if (turn.Text.Equals(gameOverString)) { return; }

    DataGridViewImageCell cell = (DataGridViewImageCell)
        dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];

    if (cell.Value == blank)
    {
        if (IsOsTurn())
        {
            cell.Value = o;
        }
        else
        {
            cell.Value = x;
        }
        ToggleTurn();
    }
    if (IsAWin())
    {
        turn.Text = gameOverString;
    }
}
Private Sub dataGridView1_CellClick(ByVal sender As Object, _
    ByVal e As DataGridViewCellEventArgs) _
    Handles dataGridView1.CellClick

    If turn.Text.Equals(gameOverString) Then Return

    Dim cell As DataGridViewImageCell = _
        CType(dataGridView1.Rows(e.RowIndex). _
            Cells(e.ColumnIndex), DataGridViewImageCell)
    If (cell.Value Is blank) Then
        If IsOsTurn() Then
            cell.Value = o
        Else
            cell.Value = x
        End If
        ToggleTurn()
        ToolTip(e)
    End If
    If IsAWin() Then
        turn.Text = gameOverString
    End If
End Sub

Comentarios

Este evento se produce cuando se hace clic en cualquier parte de una celda, incluidos los bordes y el relleno. También se produce cuando el usuario presiona y suelta la tecla SPACE mientras una celda de botón o una celda de casilla tiene el foco, y se producirá dos veces para estos tipos de celda si se hace clic en la celda mientras se presiona la tecla SPACE.

Para determinar cuándo se hace clic en el contenido de la celda, controle el CellContentClick evento.

Este evento no recibe información sobre la posición del mouse. Si el controlador de eventos necesita información sobre la posición del mouse, use el CellMouseClick evento .

Para los clics en , DataGridViewCheckBoxCelleste evento se produce antes de que la casilla cambie el valor, por lo que si no desea calcular el valor esperado en función del valor actual, normalmente controlará el DataGridView.CellValueChanged evento en su lugar. Dado que ese evento solo se produce cuando se confirma el valor especificado por el usuario, que normalmente se produce cuando el foco sale de la celda, también debe controlar el DataGridView.CurrentCellDirtyStateChanged evento. En ese controlador, si la celda actual es una celda de casilla, llame al DataGridView.CommitEdit método y pase el Commit valor.

Para obtener más información acerca de cómo controlar eventos, vea controlar y provocar eventos.

Se aplica a

Consulte también