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;
member this.CellClick : System.Windows.Forms.DataGridViewCellEventHandler 
Public Custom Event CellClick As DataGridViewCellEventHandler 

Type d'événement

DataGridViewCellEventHandler

Exemples

L’exemple de code suivant montre un CellClick Gestionnaire d’événements dans une implémentation de jeu TIC-TAC-TOE qui utilise des colonnes d’image dans un DataGridView contrôle. À moins que le jeu soit sur ou que l’utilisateur ait déjà cliqué sur la cellule, le gestionnaire d’événements affecte à la valeur de la cellule l’un des deux Bitmap objets représentés par les variables x et o .

ce code fait partie d’un exemple plus complet 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 sur la touche espace et la relâche lorsqu’une cellule de bouton ou une cellule de case à cocher 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 à quel moment l’utilisateur clique sur le contenu de la cellule, gérez l' CellContentClick événement.

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' CellMouseClick événement.

Pour les clics dans un DataGridViewCheckBoxCell , cet événement se produit avant la modification de la valeur de la case à cocher. 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' DataGridView.CurrentCellDirtyStateChanged événement. Dans ce gestionnaire, si la cellule active est une cellule de case à cocher, 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