Share via


DataGridView.CellClick Kejadian

Definisi

Terjadi saat bagian mana pun dari sel diklik.

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 

Jenis Acara

Contoh

Contoh kode berikut menunjukkan CellClick penanganan aktivitas dalam implementasi game Tic-Tac-Toe yang menggunakan kolom gambar dalam DataGridView kontrol. Kecuali permainan berakhir atau sel telah diklik, penanganan aktivitas mengatur nilai sel ke salah satu dari dua Bitmap objek yang diwakili oleh variabel x dan o.

Kode ini adalah bagian dari contoh yang lebih besar yang ditunjukkan dalam Cara: Bekerja dengan Kolom Gambar di Formulir Windows 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

Keterangan

Peristiwa ini terjadi ketika bagian mana pun dari sel diklik, termasuk batas dan padding. Ini juga terjadi ketika pengguna menekan dan melepaskan tombol SPACE sementara sel tombol atau sel kotak centang memiliki fokus, dan akan terjadi dua kali untuk jenis sel ini jika sel diklik saat menekan tombol SPACE.

Untuk menentukan kapan konten sel diklik, tangani CellContentClick acara.

Kejadian ini tidak menerima informasi tentang posisi tetikus. Jika penanganan aktivitas memerlukan informasi tentang posisi mouse, gunakan peristiwa tersebut CellMouseClick .

Untuk klik di DataGridViewCheckBoxCell, peristiwa ini terjadi sebelum kotak centang mengubah nilai, jadi jika Anda tidak ingin menghitung nilai yang diharapkan berdasarkan nilai saat ini, Anda biasanya akan menangani DataGridView.CellValueChanged peristiwa sebagai gantinya. Karena peristiwa itu hanya terjadi ketika nilai yang ditentukan pengguna diterapkan, yang biasanya terjadi saat fokus meninggalkan sel, Anda juga harus menangani peristiwa tersebut DataGridView.CurrentCellDirtyStateChanged . Di handler tersebut, jika sel saat ini adalah sel kotak centang, panggil DataGridView.CommitEdit metode dan berikan nilainya Commit .

Untuk informasi selengkapnya tentang cara menangani peristiwa, lihat Menangani dan Menaikkan Peristiwa.

Berlaku untuk

Lihat juga