DataGridView.CellClick イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
セルの一部がクリックされた場合に発生します。
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
イベントの種類
例
次のコード例は、 CellClick コントロールのイメージ列を使用する Tic-Tac-Toe ゲーム実装のイベント ハンドラーを DataGridView 示しています。 ゲームが終わっていないか、セルが既にクリックされていない限り、イベント ハンドラーは、変数 x
と o
で表される 2 つのBitmapオブジェクトのいずれかにセル値を設定します。
このコードは、「方法: Windows フォーム DataGridView コントロールのイメージ列を操作する」に示されている大きな例の一部です。
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
注釈
このイベントは、セルの任意の部分 (罫線やパディングなど) がクリックされたときに発生します。 また、ユーザーが SPACE キーを押して離すと、ボタン セルまたは チェック ボックス セルにフォーカスがあるときにも発生し、SPACE キーを押しながらセルをクリックすると、これらのセルの種類に対して 2 回発生します。
セルの内容をクリックするタイミングを確認するには、 イベントを処理します CellContentClick 。
このイベントは、マウスの位置に関する情報を受け取りません。 イベント ハンドラーにマウスの位置に関する情報が必要な場合は、 イベントを使用します CellMouseClick 。
内のDataGridViewCheckBoxCellクリックの場合、このイベントは、チェック ボックスの値が変更される前に発生するため、現在の値に基づいて期待値を計算しない場合は、通常、代わりにイベントを処理しますDataGridView.CellValueChanged。 このイベントは、ユーザー指定の値がコミットされたときにのみ発生するため、通常はフォーカスがセルから離れたときに発生します。イベントも処理する DataGridView.CurrentCellDirtyStateChanged 必要があります。 そのハンドラーで、現在のセルがチェックボックス セルの場合は、 メソッドをDataGridView.CommitEdit呼び出して 値をCommit渡します。
イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。
適用対象
こちらもご覧ください
.NET