DataGridViewCellEventHandler 委托

定义

表示将处理与单元格和行操作相关的 DataGridView 事件的方法。Represents the method that will handle DataGridView events related to cell and row operations.

public delegate void DataGridViewCellEventHandler(System::Object ^ sender, DataGridViewCellEventArgs ^ e);
public delegate void DataGridViewCellEventHandler(object sender, DataGridViewCellEventArgs e);
type DataGridViewCellEventHandler = delegate of obj * DataGridViewCellEventArgs -> unit
Public Delegate Sub DataGridViewCellEventHandler(sender As Object, e As DataGridViewCellEventArgs)

参数

sender
Object

事件源。The source of the event.

e
DataGridViewCellEventArgs

包含事件数据的 DataGridViewCellEventArgsA DataGridViewCellEventArgs that contains the event data.

继承
DataGridViewCellEventHandler

示例

下面的代码示例演示如何CellMouseEnter使用CellMouseLeave和事件处理程序来确定是否可以单击单元。The following code example demonstrates using CellMouseEnter and CellMouseLeave event handlers to determine whether a cell can be clicked. 该示例更新每ToolTipText个, 以公布当前的图像布局。The example updates each ToolTipText to advertise the current image layout. 此代码是在如何:处理 Windows 窗体 DataGridView 控件中的图像列。This code is part of a larger example shown in How to: Work with Image Columns in the Windows Forms DataGridView Control.

void dataGridView1_CellMouseEnter( Object^ sender, DataGridViewCellEventArgs^ e )
{
   Bitmap^ markingUnderMouse = dynamic_cast<Bitmap^>(dataGridView1->Rows[ e->RowIndex ]->Cells[ e->ColumnIndex ]->Value);
   if ( markingUnderMouse == blank )
   {
      dataGridView1->Cursor = Cursors::Default;
   }
   else
   if ( markingUnderMouse == o || markingUnderMouse == x )
   {
      dataGridView1->Cursor = Cursors::No;
      ToolTip(e,true);
   }
}

void ToolTip( DataGridViewCellEventArgs^ e, bool showTip )
{
   DataGridViewImageCell^ cell = dynamic_cast<DataGridViewImageCell^>(dataGridView1->Rows[ e->RowIndex ]->Cells[ e->ColumnIndex ]);
   DataGridViewImageColumn^ imageColumn = dynamic_cast<DataGridViewImageColumn^>(dataGridView1->Columns[ cell->ColumnIndex ]);
   if ( showTip )
         cell->ToolTipText = imageColumn->Description;
   else
   {
      cell->ToolTipText = String::Empty;
   }
}

void dataGridView1_CellMouseLeave( Object^ sender, DataGridViewCellEventArgs^ e )
{
   ToolTip( e, false );
   dataGridView1->Cursor = Cursors::Default;
}


private void dataGridView1_CellMouseEnter(object sender,
    DataGridViewCellEventArgs e)
{
    Bitmap markingUnderMouse = (Bitmap)dataGridView1.
           Rows[e.RowIndex].
           Cells[e.ColumnIndex].Value;

    if (markingUnderMouse == blank)
    {
        dataGridView1.Cursor = Cursors.Default;
    }
    else if (markingUnderMouse == o || markingUnderMouse == x)
    {
        dataGridView1.Cursor = Cursors.No;
        ToolTip(e, true);
    }
}

private void ToolTip(DataGridViewCellEventArgs e, bool showTip)
{
    DataGridViewImageCell cell = (DataGridViewImageCell)
        dataGridView1
        .Rows[e.RowIndex].Cells[e.ColumnIndex];
    DataGridViewImageColumn imageColumn =
        (DataGridViewImageColumn)
        dataGridView1.Columns[cell.ColumnIndex];

    if (showTip) cell.ToolTipText = imageColumn.Description;
    else { cell.ToolTipText = String.Empty; }
}

private void dataGridView1_CellMouseLeave(object sender,
    DataGridViewCellEventArgs e)
{
    ToolTip(e, false);
    dataGridView1.Cursor = Cursors.Default;
}
Private Sub dataGridView1_CellMouseEnter(ByVal sender As Object, _
    ByVal e As DataGridViewCellEventArgs) _
    Handles dataGridView1.CellMouseEnter

    Dim markingUnderMouse As Bitmap = _
        CType(dataGridView1.Rows(e.RowIndex). _
            Cells(e.ColumnIndex).Value, Bitmap)

    If markingUnderMouse Is blank Then
        dataGridView1.Cursor = Cursors.Default
    ElseIf markingUnderMouse Is o OrElse markingUnderMouse Is x Then
        dataGridView1.Cursor = Cursors.No
        ToolTip(e)
    End If
End Sub

Private Sub ToolTip( _
    ByVal e As DataGridViewCellEventArgs)

    Dim cell As DataGridViewImageCell = _
        CType(dataGridView1.Rows(e.RowIndex). _
        Cells(e.ColumnIndex), DataGridViewImageCell)
    Dim imageColumn As DataGridViewImageColumn = _
        CType(dataGridView1.Columns(cell.ColumnIndex), _
        DataGridViewImageColumn)

    cell.ToolTipText = imageColumn.Description
End Sub

Private Sub dataGridView1_CellMouseLeave(ByVal sender As Object, _
    ByVal e As DataGridViewCellEventArgs) _
    Handles dataGridView1.CellMouseLeave

    dataGridView1.Cursor = Cursors.Default
End Sub

注解

DataGridViewCellEventHandler处理以下DataGridView事件:DataGridViewCellEventHandler handles the following DataGridView events:

创建 DataGridViewCellEventHandler 委托时,需要标识将处理该事件的方法。When you create a DataGridViewCellEventHandler delegate, you identify the method that will handle the event. 若要将事件与事件处理程序关联,请将该委托的一个实例添加到事件中。To associate the event with your event handler, add an instance of the delegate to the event. 除非移除了该委托,否则每当发生该事件时就会调用事件处理程序。The event handler is called whenever the event occurs, unless you remove the delegate. 有关事件处理程序委托的详细信息, 请参阅处理和引发事件For more information about event-handler delegates, see Handling and Raising Events.

扩展方法

GetMethodInfo(Delegate)

获取指示指定委托表示的方法的对象。Gets an object that represents the method represented by the specified delegate.

适用于

另请参阅