DataGridView.CellClick Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.