Condividi tramite


DataGridViewCellEventHandler Delegato

Definizione

Rappresenta il metodo che gestirà gli eventi di DataGridView correlati ad operazioni su celle e righe.

public delegate void DataGridViewCellEventHandler(System::Object ^ sender, DataGridViewCellEventArgs ^ e);
public delegate void DataGridViewCellEventHandler(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)

Parametri

sender
Object

Origine dell'evento.

e
DataGridViewCellEventArgs

Oggetto DataGridViewCellEventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso CellMouseEnter di gestori eventi e CellMouseLeave per determinare se è possibile fare clic su una cella. L'esempio aggiorna ogni ToolTipText oggetto per annunciare il layout dell'immagine corrente. Questo codice fa parte di un esempio più ampio illustrato in Procedura: Usare colonne di immagine nel controllo DataGridView Windows Forms.

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

Commenti

DataGridViewCellEventHandler gestisce gli eventi seguenti DataGridView :

Quando si crea un delegato DataGridViewCellEventHandler, si identifica il metodo che gestirà l'evento. Per associare l'evento al gestore eventi in uso, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non venga rimosso il delegato. Per altre informazioni sui delegati del gestore eventi, vedere Gestione e generazione di eventi.

Metodi di estensione

GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a

Vedi anche