DataGridView.CellClick Olay

Tanım

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 odeğ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.

Şunlara uygulanır

Ayrıca bkz.