Поделиться через


DataGridView.CellMouseClick Событие

Определение

Происходит всякий раз, когда пользователь щелкает ячейку с помощью мыши.

public:
 event System::Windows::Forms::DataGridViewCellMouseEventHandler ^ CellMouseClick;
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 

Тип события

Примеры

В следующем примере кода демонстрируется использование этого элемента. В этом примере обработчик событий сообщает о возникновении CellMouseClick события. Этот отчет поможет вам узнать, когда происходит событие, и помочь вам в отладке. Чтобы сообщить о нескольких событиях или событиях, которые происходят часто, рекомендуется заменить MessageBox.ShowConsole.WriteLine или добавить сообщение в многостроочное TextBox.

Чтобы запустить пример кода, вставьте его в проект, содержащий экземпляр типа DataGridView с именем DataGridView1. Затем убедитесь, что обработчик событий связан с событием CellMouseClick .

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

Комментарии

Это событие возникает, когда пользователь щелкает любую из кнопок мыши. MouseEventArgs.Button Используйте свойство, чтобы определить, какая кнопка была нажата.

Чтобы обнаружить содержимое ячейки, например кнопку или ссылку в ячейке, используйте CellContentClick событие.

Обработчик этого события получает индекс столбца и индекс строки позиции указателя мыши.

Для щелчков в элементе DataGridViewCheckBoxCell, это событие возникает перед изменением значения флажка, поэтому если вы не хотите вычислять ожидаемое значение на основе текущего значения, обычно будет обрабатываться CellValueChanged событие. Так как это событие происходит только при фиксации указанного пользователем значения, которое обычно возникает при выходе фокуса из ячейки, необходимо также обработать CurrentCellDirtyStateChanged событие. В этом обработчике, если текущая ячейка является ячейкой флажка, вызовите CommitEdit метод и передайте Commit значение.

Дополнительные сведения об обработке событий см. в разделе "Обработка и создание событий".

Применяется к

См. также раздел