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;
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.