DataGridView.CellClick Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Hücrenin herhangi bir bölümüne tıklandığında gerçekleşir.
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
Olay Türü
Örnekler
Aşağıdaki kod örneği, bir CellClick denetimdeki görüntü sütunlarını kullanan bir Tic-Tac-Toe oyun uygulamasındaki olay DataGridView işleyicisini gösterir. Oyun bitmediği veya hücreye tıklanmadığı sürece, olay işleyicisi hücre değerini ve o
değişkenleriyle x
temsil edilen iki Bitmap nesneden birine ayarlar.
Bu kod, How to: Work with Image Columns in the Windows Forms DataGridView Control (Windows Forms DataGridView Denetimindeki Görüntü Sütunlarıyla Çalışma) bölümünde gösterilen daha büyük bir örneğin parçasıdır.
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
Açıklamalar
Bu olay, kenarlıklar ve doldurma da dahil olmak üzere bir hücrenin herhangi bir bölümüne tıklandığında oluşur. Ayrıca, kullanıcı ara çubuğuna basıp bıraktığında, düğme hücresi veya onay kutusu hücresi odaktayken oluşur ve ARA ÇUBUĞU tuşuna basılırken hücreye tıklandığında bu hücre türleri için iki kez gerçekleşir.
Hücre içeriğine ne zaman tıklandığına karar vermek için olayı işleyebilir CellContentClick .
Bu olay fare konumu hakkında bilgi almaz. Olay işleyicisi fare konumu hakkında bilgiye ihtiyaç duyuyorsa, olayı kullanın CellMouseClick .
içindeki DataGridViewCheckBoxCelltıklamalar için, bu olay onay kutusu değeri değiştirmeden önce gerçekleşir, bu nedenle beklenen değeri geçerli değere göre hesaplamak istemiyorsanız, genellikle bunun yerine olayı işlersiniz DataGridView.CellValueChanged . Bu olay yalnızca kullanıcı tarafından belirtilen değer işlendiğinde gerçekleştiğinden ( genellikle odak hücreden ayrıldığında gerçekleşir) olayı da işlemeniz DataGridView.CurrentCellDirtyStateChanged gerekir. Bu işleyicide, geçerli hücre bir onay kutusu hücresiyse yöntemini çağırın DataGridView.CommitEdit ve değeri geçirin Commit .
Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.