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
로 표시되는 두 Bitmap 개체 중 하나로 설정합니다.
이 코드에 표시 된 것 보다 큰 예제의의 일부인 방법: Windows Forms 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 키를 누르는 동안 셀을 클릭하면 이러한 셀 형식에 대해 두 번 발생합니다.
셀 내용이 클릭되는 시기를 확인하려면 이벤트를 처리합니다 CellContentClick .
이 이벤트는 마우스 위치에 대한 정보를 수신하지 않습니다. 이벤트 처리기에 마우스 위치에 대한 정보가 필요한 경우 이벤트를 사용합니다 CellMouseClick .
에서 클릭하는 DataGridViewCheckBoxCell경우 이 이벤트는 검사 상자가 값을 변경하기 전에 발생하므로 현재 값을 기준으로 예상 값을 계산하지 않으려면 일반적으로 이벤트를 대신 처리 DataGridView.CellValueChanged 합니다. 이 이벤트는 일반적으로 포커스가 셀을 떠날 때 발생하는 사용자 지정 값이 커밋될 때만 발생하므로 이벤트도 처리 DataGridView.CurrentCellDirtyStateChanged 해야 합니다. 해당 처리기에서 현재 셀이 검사 상자 셀인 경우 메서드를 DataGridView.CommitEdit 호출하고 값을 전달합니다Commit.
이벤트를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.
적용 대상
추가 정보
.NET