DataGridView.CellClick DataGridView.CellClick DataGridView.CellClick DataGridView.CellClick Event

定義

セルの一部がクリックされた場合に発生します。Occurs when any part of a cell is clicked.

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 

次のコード例は、CellClickのイメージ列を使用して、三目並べゲーム実装内のイベント ハンドラーをDataGridViewコントロール。The following code example shows a CellClick event handler in a Tic-Tac-Toe game implementation that uses image columns in a DataGridView control. イベント ハンドラーが 2 つのいずれかにセルの値を設定、ゲーム オーバーですか、セルが既にクリックしてされた、しない限り、Bitmap変数によって表されるオブジェクトxoします。Unless the game is over or the cell has already been clicked, the event handler sets the cell value to one of two Bitmap objects represented by the variables x and o.

このコード例に示すの方法。Windows フォーム DataGridView コントロールでのイメージ列を操作します。This code is part of a larger example shown in How to: Work with Image Columns in the Windows Forms 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

注釈

このイベントは、境界線を含むと埋め込みのセルの任意の部分がクリックされたときに発生します。This event occurs when any part of a cell is clicked, including borders and padding. また、ユーザーが押すし、セルのボタンまたはチェック ボックス セルにフォーカスがあり、SPACE キーを押しながらセルがクリックされた場合は、セルの種類をこれらの 2 回発生時に、SPACE キーを離したときにも発生します。It also occurs when the user presses and releases the SPACE key while a button cell or check box cell has focus, and will occur twice for these cell types if the cell is clicked while pressing the SPACE key.

セルの内容がクリックされたときを確認するのには、処理、CellContentClickイベント。To determine when the cell contents are clicked, handle the CellContentClick event.

このイベントは、マウスの位置に関する情報を受信しません。This event does not receive information about the mouse position. イベント ハンドラーは、マウスの位置に関する情報を必要とする場合は、使用、CellMouseClickイベント。If the event handler needs information about the mouse position, use the CellMouseClick event.

数回のクリックでのDataGridViewCheckBoxCell、このイベントは、前に、チェック ボックスをオン変更値であるため、現在の値に基づいて予期される値を計算したくない場合に発生します。、通常は、DataGridView.CellValueChangedイベント代わりにします。For clicks in a DataGridViewCheckBoxCell, this event occurs before the check box changes value, so if you do not want to calculate the expected value based on the current value, you will typically handle the DataGridView.CellValueChanged event instead. ユーザー指定の値がコミットされた場合にのみそのイベントが発生するため、セルにフォーカスが離れたときに通常発生する必要がありますも処理する、DataGridView.CurrentCellDirtyStateChangedイベント。Because that event occurs only when the user-specified value is committed, which typically occurs when focus leaves the cell, you must also handle the DataGridView.CurrentCellDirtyStateChanged event. 現在のセルがチェック ボックス セルの場合を呼び出すそのハンドラーで、DataGridView.CommitEditメソッドを渡します、Commit値。In that handler, if the current cell is a check box cell, call the DataGridView.CommitEdit method and pass in the Commit value.

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。For more information about how to handle events, see Handling and Raising Events.

適用対象

こちらもご覧ください