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 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 si la cellule a déjà été cliquée, le gestionnaire d’événements définit la valeur de 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 grand illustré 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 lorsqu’une partie d’une cellule est cliquée, y compris les bordures et le remplissage. Il se produit également lorsque l’utilisateur appuie et libère la touche ESPACE pendant qu’une cellule de bouton ou une case à cocher a le focus, et se produit deux fois pour ces types de cellules si la cellule est cliquée lors de l’appui sur la touche ESPACE.

Pour déterminer quand le contenu de la cellule est cliqué, 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 case à cocher change de valeur. Par conséquent, si vous ne souhaitez pas calculer la valeur attendue en fonction de la valeur actuelle, vous gérerez généralement 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 à 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