DataGridView.CellClick Ereignis

Definition

Tritt auf, wenn auf einen Teil einer Zelle geklickt wird.

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 

Ereignistyp

Beispiele

Das folgende Codebeispiel zeigt einen CellClick Ereignishandler in einer Tic-Tac-Toe Spielimplementierung, die Bildspalten in einem DataGridView Steuerelement verwendet. Sofern das Spiel nicht vorbei ist oder auf die Zelle bereits geklickt wurde, legt der Ereignishandler den Zellwert auf eines von zwei Bitmap Objekten fest, die durch die Variablen x dargestellt werden.o

Dieser Code ist Teil eines größeren Beispiels, das in How to: Work with Image Columns in the Windows Forms DataGridView Control gezeigt wird.

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

Hinweise

Dieses Ereignis tritt auf, wenn auf einen Teil einer Zelle geklickt wird, einschließlich Rahmen und Abstand. Es tritt auch auf, wenn der Benutzer die LEERTASTE drückt und loslässt, während eine Schaltflächenzelle oder Kontrollkästchenzelle den Fokus hat, und tritt zweimal für diese Zelltypen auf, wenn die Zelle beim Drücken der LEERTASTE geklickt wird.

Um zu bestimmen, wann auf den Zellinhalt geklickt wird, behandeln Sie das CellContentClick Ereignis.

Dieses Ereignis empfängt keine Informationen zur Mausposition. Wenn der Ereignishandler Informationen zur Mausposition benötigt, verwenden Sie das CellMouseClick Ereignis.

Bei Klicks in einem DataGridViewCheckBoxCellEreignis tritt dieses Ereignis auf, bevor das Kontrollkästchen den Wert ändert. Wenn Sie den erwarteten Wert also nicht basierend auf dem aktuellen Wert berechnen möchten, behandeln Sie das DataGridView.CellValueChanged Ereignis normalerweise stattdessen. Da dieses Ereignis nur auftritt, wenn der vom Benutzer angegebene Wert zugesichert wird, der in der Regel auftritt, wenn der Fokus die Zelle verlässt, müssen Sie auch das DataGridView.CurrentCellDirtyStateChanged Ereignis behandeln. Wenn es sich bei der aktuellen Zelle um eine Kontrollkästchenzelle handelt, rufen Sie in diesem Handler die DataGridView.CommitEdit Methode auf, und übergeben Sie den Commit Wert.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter Behandeln und Auslösen von Ereignissen.

Gilt für:

Weitere Informationen