Partage via


DataGridView.CellClick Événement

Définition

Se produit lorsque l'utilisateur clique sur une partie d'une cellule.

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 

Type d'événement

Exemples

L’exemple de code suivant montre un gestionnaire d’événements CellClick dans une implémentation de jeu Tic-Tac-Toe qui utilise des colonnes d’image dans un DataGridView contrôle. Sauf si le jeu est terminé ou que l’utilisateur a déjà cliqué sur la cellule, le gestionnaire d’événements définit la valeur de la cellule sur l’un des deux Bitmap objets représentés par les variables x et o.

Ce code fait partie d’un exemple plus large présenté dans How to: Work with Image Columns in the Windows Forms DataGridView Control.

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

Remarques

Cet événement se produit lorsque l’utilisateur clique sur une partie d’une cellule, y compris les bordures et le remplissage. Cela se produit également lorsque l’utilisateur appuie et relâche la touche ESPACE pendant qu’une cellule bouton ou case activée cellule de zone a le focus, et se produit deux fois pour ces types de cellules si l’utilisateur clique sur la cellule tout en appuyant sur la touche ESPACE.

Pour déterminer quand vous cliquez sur le contenu de la cellule, gérez l’événement CellContentClick .

Cet événement ne reçoit pas d’informations sur la position de la souris. Si le gestionnaire d’événements a besoin d’informations sur la position de la souris, utilisez l’événement CellMouseClick .

Pour les clics dans un DataGridViewCheckBoxCell, cet événement se produit avant que la zone case activée change la valeur. Par conséquent, si vous ne souhaitez pas calculer la valeur attendue en fonction de la valeur actuelle, vous devez généralement gérer l’événement à la DataGridView.CellValueChanged place. Étant donné que cet événement se produit uniquement lorsque la valeur spécifiée par l’utilisateur est validée, ce qui se produit généralement lorsque le focus quitte la cellule, vous devez également gérer l’événement DataGridView.CurrentCellDirtyStateChanged . Dans ce gestionnaire, si la cellule active est une cellule de zone de case activée, appelez la DataGridView.CommitEdit méthode et transmettez la Commit valeur .

Pour plus d’informations sur la façon de gérer les événements, consultez gestion et déclenchement d’événements.

S’applique à

Voir aussi