DataGridView.CellClick Událost

Definice

Nastane, když kliknete na libovolnou část buňky.

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 

Event Type

Příklady

Následující příklad kódu ukazuje obslužnou rutinu CellClick události v implementaci hry Tic-Tac-Toe, která používá sloupce obrázků v ovládacím DataGridView prvku. Pokud hra není over nebo buňka již byla kliknuta, obslužná rutina události nastaví hodnotu buňky na jeden ze dvou Bitmap objektů reprezentovaných proměnnými x a o.

Tento kód je součástí většího příkladu uvedeného v části Postupy: Práce se sloupci obrázků v ovládacím prvku model Windows Forms DataGridView.

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

Poznámky

K této události dochází, když kliknete na libovolnou část buňky, včetně ohraničení a odsazení. K tomu dochází také v případě, že uživatel stiskne a uvolní klávesu MEZERNÍK, když je buňka tlačítka nebo buňka zaškrtávacího políčka fokus, a pro tyto typy buněk dojde dvakrát, pokud je buňka při stisknutí klávesy MEZERA.

Pokud chcete zjistit, kdy je obsah buňky kliknut, zpracujte CellContentClick událost.

Tato událost nepřijímá informace o poloze myši. Pokud obslužná rutina události potřebuje informace o poloze myši, použijte CellMouseClick událost.

U kliknutí na DataGridViewCheckBoxCellpoložku , tato událost nastane před zaškrtávacím políkem změní hodnotu, takže pokud nechcete vypočítat očekávanou hodnotu na základě aktuální hodnoty, obvykle zpracujete DataGridView.CellValueChanged událost. Vzhledem k tomu, že k události dochází pouze v případě, že je potvrzena hodnota zadaná uživatelem, která obvykle nastane, když fokus opustí buňku DataGridView.CurrentCellDirtyStateChanged , musíte také zpracovat událost. Pokud je aktuální buňka v této obslužné rutině buňka zaškrtávacím políčku, zavolejte metodu DataGridView.CommitEdit a předejte Commit hodnotu.

Další informace o zpracování událostí naleznete v tématu Zpracování a vyvolávání událostí.

Platí pro

Viz také