DataGridView.CellClick Événement

Définition

Se produit lorsque l'utilisateur clique sur une partie d'une cellule.Occurs when any part of a cell is clicked.

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 

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 contrôle DataGridView.The following code example shows a CellClick event handler in a Tic-Tac-Toe game implementation that uses image columns in a DataGridView control. Sauf si le jeu est sur ou si l’utilisateur a déjà cliqué sur la cellule, le gestionnaire d’événements affecte à la valeur de la cellule l’un des deux objets Bitmap représentés par les variables x et o.Unless the game is over or the cell has already been clicked, the event handler sets the cell value to one of two Bitmap objects represented by the variables x and 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.This code is part of a larger example shown in 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.This event occurs when any part of a cell is clicked, including borders and padding. 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.It also occurs when the user presses and releases the SPACE key while a button cell or check box cell has focus, and will occur twice for these cell types if the cell is clicked while pressing the SPACE key.

Pour déterminer à quel moment l’utilisateur clique sur le contenu de la cellule, gérez l’événement CellContentClick.To determine when the cell contents are clicked, handle the CellContentClick event.

Cet événement ne reçoit pas d’informations sur la position de la souris.This event does not receive information about the mouse position. Si le gestionnaire d’événements a besoin d’informations sur la position de la souris, utilisez l’événement CellMouseClick.If the event handler needs information about the mouse position, use the CellMouseClick event.

Pour les clics dans une 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 DataGridView.CellValueChanged à la place.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 DataGridView.CellValueChanged event instead. É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.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 DataGridView.CurrentCellDirtyStateChanged event. Dans ce gestionnaire, si la cellule active est une cellule de case à cocher, appelez la méthode DataGridView.CommitEdit et transmettez la valeur Commit.In that handler, if the current cell is a check box cell, call the DataGridView.CommitEdit method and pass in the Commit value.

Pour plus d’informations sur la façon de gérer les événements, consultez gestion et déclenchement d’événements.For more information about how to handle events, see Handling and Raising Events.

S’applique à

Voir aussi