DataGridView.CellClick Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.