DataGridView.CellMouseClick DataGridView.CellMouseClick DataGridView.CellMouseClick DataGridView.CellMouseClick Event

定義

ユーザーがセルの任意の場所をマウスでクリックするたびに発生します。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 

このメンバーの使用例を次のコード例に示します。The following code example demonstrates the use of this member. この例では、イベントハンドラーがCellMouseClickイベントの発生を報告します。In the example, an event handler reports on the occurrence of the CellMouseClick event. このレポートは、イベントがいつ発生し、デバッグに役立つかを理解するのに役立ちます。This report helps you to learn when the event occurs and can assist you in debugging. 複数のイベントまたは頻繁に発生するイベントについてレポートMessageBox.ShowするConsole.WriteLineには、メッセージをに置き換えるTextBoxか、または複数行に追加することを検討してください。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.

コード例を実行するには、という名前DataGridView DataGridView1の型のインスタンスを含むプロジェクトに貼り付けます。To run the example code, paste it into a project that contains an instance of type DataGridView named DataGridView1. 次に、イベントハンドラーが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

注釈

このイベントは、ユーザーがマウスボタンを使用してクリックしたときに発生します。This event occurs when the user clicks using any of the mouse buttons. プロパティをMouseEventArgs.Button使用して、クリックされたボタンを判別します。Use the MouseEventArgs.Button property to determine which button was clicked.

セル内のボタンやリンクなど、セルの内容をクリックして検出するには、 CellContentClickイベントを使用します。To detect clicks on the contents of a cell, such as a button or link within a cell, use the CellContentClick event.

このイベントのハンドラーは、マウスポインターの位置の列インデックスと行インデックスを受け取ります。The handler for this event receives the column index and row index of the mouse pointer position.

DataGridViewCheckBoxCellのクリックの場合、このイベントは、チェックボックスが値を変更する前に発生します。したがって、現在の値に基づいて予期される値を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. このイベントが発生するのは、ユーザーが指定した値がコミットされた場合のみです。通常はフォーカスがセル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. このハンドラーで、現在のセルがチェックボックスセルの場合は、 CommitEditメソッドを呼び出し、 Commit値を渡します。In that handler, if the current cell is a check box cell, call the CommitEdit method and pass in the Commit value.

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。For more information about how to handle events, see Handling and Raising Events.

適用対象

こちらもご覧ください