DataGridViewRowContextMenuStripNeededEventHandler Délégué

Définition

Représente la méthode qui gérera l'événement RowContextMenuStripNeeded d'un DataGridView.Represents the method that will handle the RowContextMenuStripNeeded event of a DataGridView.

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

Paramètres

sender
Object

Source de l'événement.The source of the event.

Héritage
DataGridViewRowContextMenuStripNeededEventHandler

Exemples

Dans l’exemple de code suivant, RowContextMenuStripNeeded l’événement est géré pour fournir ContextMenuStrip un basé sur le titre de l’employé.In the following code example, the RowContextMenuStripNeeded event is handled to provide a ContextMenuStrip based on the title of the employee. Dans cet exemple, deux menus contextuels, l’un pour les responsables et l’autre pour tous les autres employés.In this example, two there are two context menus, one for managers and one for all other employees.

void dataGridView1_RowContextMenuStripNeeded(object sender,
    DataGridViewRowContextMenuStripNeededEventArgs e)
{
    DataGridViewRow dataGridViewRow1 = dataGridView1.Rows[e.RowIndex];

    toolStripMenuItem1.Enabled = true;

    // Show the appropriate ContextMenuStrip based on the employees title.
    if ((dataGridViewRow1.Cells["Title"].Value.ToString() ==
        "Sales Manager") ||
        (dataGridViewRow1.Cells["Title"].Value.ToString() ==
        "Vice President, Sales"))
    {
        e.ContextMenuStrip = managerMenuStrip;
    }
    else
    {
        e.ContextMenuStrip = employeeMenuStrip;
    }

    contextMenuRowIndex = e.RowIndex;
}
Public Sub dataGridView1_RowContextMenuStripNeeded( _
    ByVal sender As Object, _
    ByVal e As DataGridViewRowContextMenuStripNeededEventArgs) _
    Handles dataGridView1.RowContextMenuStripNeeded

    Dim dataGridViewRow1 As DataGridViewRow = _
    dataGridView1.Rows(e.RowIndex)

    toolStripMenuItem1.Enabled = True

    ' Show the appropriate ContextMenuStrip based on the employees title.
    If dataGridViewRow1.Cells("Title").Value.ToString() = _
        "Sales Manager" OrElse _
        dataGridViewRow1.Cells("Title").Value.ToString() = _
        "Vice President, Sales" Then

        e.ContextMenuStrip = managerMenuStrip
    Else
        e.ContextMenuStrip = employeeMenuStrip
    End If

    contextMenuRowIndex = e.RowIndex
End Sub

Remarques

L' RowContextMenuStripNeeded événement se produit uniquement lorsque DataGridView la DataSource propriété du contrôle est définie VirtualMode ou que truesa propriété est.The RowContextMenuStripNeeded event occurs only when the DataGridView control DataSource property is set or its VirtualMode property is true. La gestion RowContextMenuStripNeeded de l’événement est utile lorsque vous souhaitez afficher un menu contextuel déterminé par l’état actuel d’une ligne ou par les valeurs qu’elle contient.Handling the RowContextMenuStripNeeded event is useful when you want to display a shortcut menu determined by a row's current state or the values it contains.

Lorsque vous gérez l' RowContextMenuStripNeeded événement, le menu contextuel que vous spécifiez dans le gestionnaire s’affiche chaque fois que l’utilisateur clique avec CellContextMenuStripNeeded le bouton droit sur une ligne, sauf si le menu contextuel est remplacé pour la cellule spécifique sur laquelle l’utilisateur a cliqué.When you handle the RowContextMenuStripNeeded event, the shortcut menu that you specify in the handler is shown whenever the user right-clicks a row unless the CellContextMenuStripNeeded overrides the shortcut menu for the specific cell that was clicked.

L' RowContextMenuStripNeeded événement se produit également chaque fois que la DataGridViewRow.ContextMenuStrip valeur de la propriété est récupérée, soit par programme, soit lorsque l’utilisateur clique avec le bouton droit sur une ligne.The RowContextMenuStripNeeded event also occurs whenever the value of the DataGridViewRow.ContextMenuStrip property is retrieved, either programmatically or when the user right-clicks a row.

Vous pouvez utiliser la DataGridViewRowContextMenuStripNeededEventArgs.RowIndex propriété pour déterminer l’état d’une ligne ou les valeurs qu’elle contient, et utiliser ces informations pour modifier ou modifier DataGridViewRowContextMenuStripNeededEventArgs.ContextMenuStrip la propriété.You can use the DataGridViewRowContextMenuStripNeededEventArgs.RowIndex property to determine the state of a row or the values it contains, and use this information to change or modify the DataGridViewRowContextMenuStripNeededEventArgs.ContextMenuStrip property. Cette propriété est initialisée avec la valeur de la propriété ContextMenuStrip Row, que la valeur d’événement remplace.This property is initialized with the value of the row ContextMenuStrip property, which the event value overrides.

Gérez l' RowContextMenuStripNeeded événement lorsque vous travaillez avec de grandes quantités de données pour éviter les pénalités de performances ContextMenuStrip de la définition de la valeur de ligne pour plusieurs lignes.Handle the RowContextMenuStripNeeded event when working with large amounts of data to avoid the performance penalties of setting the row ContextMenuStrip value for multiple rows. Pour plus d'informations, consultez Meilleures pratiques pour la mise à l'échelle du contrôle DataGridView Windows Forms.For more information, see Best Practices for Scaling the Windows Forms DataGridView Control.

Pour plus d’informations sur la façon de gérer les événements, consultez gestion et déclenchement d’événements.For more information about how to handle events, see Handling and Raising Events.

Lorsque vous créez un délégué DataGridViewRowContextMenuStripNeededEventHandler, vous identifiez la méthode qui gérera l'événement.When you create a DataGridViewRowContextMenuStripNeededEventHandler delegate, you identify the method that will handle the event. Pour associer l'événement au gestionnaire d'événements, ajoutez une instance du délégué à l'événement.To associate the event with your event handler, add an instance of the delegate to the event. Le gestionnaire d'événements est appelé chaque fois qu'un événement se produit, sauf si vous supprimez le délégué.The event handler is called whenever the event occurs, unless you remove the delegate. Pour plus d’informations sur les délégués de gestionnaires d’événements, consultez gestion et déclenchement d’événements.For more information about event-handler delegates, see Handling and Raising Events.

Méthodes d’extension

GetMethodInfo(Delegate)

Obtient un objet qui représente la méthode représentée par le délégué spécifié.Gets an object that represents the method represented by the specified delegate.

S’applique à

Voir aussi