DataGridView.CellMouseClick Ereignis

Definition

Tritt ein, wenn mit der Maus an beliebiger Stelle einer Zelle geklickt wird.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 

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieses Members veranschaulicht.The following code example demonstrates the use of this member. Im Beispiel meldet ein Ereignishandler das Vorkommen des CellMouseClick Ereignisses.In the example, an event handler reports on the occurrence of the CellMouseClick event. Mit diesem Bericht können Sie lernen, wann das Ereignis auftritt und Sie beim Debuggen unterstützen können.This report helps you to learn when the event occurs and can assist you in debugging. Wenn Sie mehrere Ereignisse oder Ereignisse, die häufig auftreten, melden möchten, können Sie MessageBox.Show durch Console.WriteLine ersetzen oder die Nachricht an eine mehrzeilige TextBoxanhängen.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.

Um den Beispielcode auszuführen, fügen Sie ihn in ein Projekt ein, das eine Instanz des Typs DataGridView mit dem Namen DataGridView1enthält.To run the example code, paste it into a project that contains an instance of type DataGridView named DataGridView1. Stellen Sie dann sicher, dass der Ereignishandler dem CellMouseClick-Ereignis zugeordnet ist.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

Hinweise

Dieses Ereignis tritt auf, wenn der Benutzer mit einer der Maustasten klickt.This event occurs when the user clicks using any of the mouse buttons. Verwenden Sie die Eigenschaft MouseEventArgs.Button, um zu bestimmen, auf welche Schaltfläche geklickt wurdeUse the MouseEventArgs.Button property to determine which button was clicked.

Zum Erkennen von Klicks auf den Inhalt einer Zelle, z. b. eine Schaltfläche oder einen Link in einer Zelle, verwenden Sie das CellContentClick-Ereignis.To detect clicks on the contents of a cell, such as a button or link within a cell, use the CellContentClick event.

Der Handler für dieses Ereignis empfängt den Spalten Index und den Zeilen Index der Position des Mauszeigers.The handler for this event receives the column index and row index of the mouse pointer position.

Bei Klicks in einem DataGridViewCheckBoxCelltritt dieses Ereignis auf, bevor der Wert des Kontrollkästchens geändert wird. Wenn Sie also nicht den erwarteten Wert auf Grundlage des aktuellen Werts berechnen möchten, behandeln Sie in der Regel stattdessen das CellValueChanged Ereignis.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. Da dieses Ereignis nur auftritt, wenn für den benutzerdefinierten Wert ein Commit ausgeführt wird. Dies tritt normalerweise auf, wenn der Fokus die Zelle verlässt, müssen Sie auch das CurrentCellDirtyStateChanged-Ereignis behandeln.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. Wenn in diesem Handler die aktive Zelle eine Kontrollkästchen Zelle ist, müssen Sie die CommitEdit-Methode aufzurufen und den Commit-Wert übergeben.In that handler, if the current cell is a check box cell, call the CommitEdit method and pass in the Commit value.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.For more information about how to handle events, see Handling and Raising Events.

Gilt für:

Siehe auch