DataGridView.CellMouseClick Zdarzenie

Definicja

Występuje za każdym razem, gdy użytkownik kliknie w dowolnym miejscu w komórce za pomocą myszy.Occurs whenever the user clicks anywhere on a cell with the mouse.

public:
 event System::Windows::Forms::DataGridViewCellMouseEventHandler ^ CellMouseClick;
public event System.Windows.Forms.DataGridViewCellMouseEventHandler CellMouseClick;
member this.CellMouseClick : System.Windows.Forms.DataGridViewCellMouseEventHandler 
Public Custom Event CellMouseClick As DataGridViewCellMouseEventHandler 

Przykłady

Poniższy przykład kodu demonstruje użycie tego elementu członkowskiego.The following code example demonstrates the use of this member. W tym przykładzie program obsługi zdarzeń raportuje wystąpienie zdarzenia CellMouseClick.In the example, an event handler reports on the occurrence of the CellMouseClick event. Ten raport pomaga dowiedzieć się, kiedy wystąpi zdarzenie i może pomóc w debugowaniu.This report helps you to learn when the event occurs and can assist you in debugging. Aby zgłosić wiele zdarzeń lub zdarzenia, które występują często, rozważ zastępowanie MessageBox.Show z Console.WriteLine lub dołączenie komunikatu do TextBoxwielowierszowego.To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

Aby uruchomić przykładowy kod, wklej go do projektu zawierającego wystąpienie typu DataGridView o nazwie DataGridView1.To run the example code, paste it into a project that contains an instance of type DataGridView named DataGridView1. Następnie upewnij się, że program obsługi zdarzeń jest skojarzony ze zdarzeniem CellMouseClick.Then ensure that the event handler is associated with the CellMouseClick event.

private void DataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "ColumnIndex", e.ColumnIndex );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "RowIndex", e.RowIndex );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Button", e.Button );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Clicks", e.Clicks );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "X", e.X );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Y", e.Y );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Delta", e.Delta );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Location", e.Location );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "CellMouseClick Event" );
}
Private Sub DataGridView1_CellMouseClick(sender as Object, e as DataGridViewCellMouseEventArgs) _ 
     Handles DataGridView1.CellMouseClick

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "ColumnIndex", e.ColumnIndex)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "RowIndex", e.RowIndex)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Button", e.Button)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Clicks", e.Clicks)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "X", e.X)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Y", e.Y)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Delta", e.Delta)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Location", e.Location)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"CellMouseClick Event")

End Sub

Uwagi

To zdarzenie występuje, gdy użytkownik kliknie przycisk przy użyciu dowolnego przycisku myszy.This event occurs when the user clicks using any of the mouse buttons. Użyj właściwości MouseEventArgs.Button, aby określić, który przycisk został kliknięty.Use the MouseEventArgs.Button property to determine which button was clicked.

Aby wykryć kliknięcia zawartości komórki, takie jak przycisk lub link w komórce, użyj zdarzenia CellContentClick.To detect clicks on the contents of a cell, such as a button or link within a cell, use the CellContentClick event.

Procedura obsługi dla tego zdarzenia otrzymuje indeks kolumny i indeks pozycji wskaźnika myszy.The handler for this event receives the column index and row index of the mouse pointer position.

W przypadku kliknięć DataGridViewCheckBoxCell, to zdarzenie występuje przed zmianą pola wyboru, jeśli nie chcesz obliczyć oczekiwanej wartości na podstawie bieżącej wartości, zamiast tego będzie zazwyczaj obsługiwać zdarzenie 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 CellValueChanged event instead. Ponieważ to zdarzenie występuje tylko wtedy, gdy wartość określona przez użytkownika jest zadeklarowana, co zwykle ma miejsce, gdy fokus opuszcza komórkę, należy również obsłużyć zdarzenie 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 CurrentCellDirtyStateChanged event. W tej procedurze obsługi, jeśli bieżąca komórka jest komórką pola wyboru, wywołaj metodę CommitEdit i przekaż wartość Commit.In that handler, if the current cell is a check box cell, call the CommitEdit method and pass in the Commit value.

Aby uzyskać więcej informacji o sposobie obsługi zdarzeń, zobacz Obsługa iwywoływanie zdarzeń.For more information about how to handle events, see Handling and Raising Events.

Dotyczy

Zobacz też