DataGridViewRowContextMenuStripNeededEventHandler Delegát
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje metodu, která bude zpracovávat RowContextMenuStripNeeded událost .DataGridView
public delegate void DataGridViewRowContextMenuStripNeededEventHandler(System::Object ^ sender, DataGridViewRowContextMenuStripNeededEventArgs ^ e);
public delegate void DataGridViewRowContextMenuStripNeededEventHandler(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)
Parametry
- sender
- Object
Zdroj události
A DataGridViewRowContextMenuStripNeededEventArgs obsahující data události.
Příklady
V následujícím příkladu RowContextMenuStripNeeded kódu je událost zpracována tak, aby poskytovala ContextMenuStrip na základě názvu zaměstnance. V tomto příkladu jsou dvě místní nabídky, jedna pro manažery a jedna pro všechny ostatní zaměstnance.
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
Poznámky
K RowContextMenuStripNeeded události dochází pouze v případě, DataGridView že je vlastnost ovládacího prvku DataSource nastavena nebo jeho VirtualMode vlastnost je true.
RowContextMenuStripNeeded Zpracování události je užitečné, když chcete zobrazit místní nabídku určenou aktuálním stavem řádku nebo hodnotami, které obsahuje.
Při zpracování RowContextMenuStripNeeded události se místní nabídka, kterou zadáte v obslužné rutině, zobrazí pokaždé, když uživatel klikne pravým tlačítkem myši na řádek, pokud CellContextMenuStripNeeded nepřepíše místní nabídku pro konkrétní buňku, na kterou jste klikli.
K RowContextMenuStripNeeded události dochází také při každém načtení hodnoty DataGridViewRow.ContextMenuStrip vlastnosti, a to buď prostřednictvím kódu programu, nebo když uživatel klikne pravým tlačítkem myši na řádek.
Vlastnost můžete použít DataGridViewRowContextMenuStripNeededEventArgs.RowIndex k určení stavu řádku nebo hodnot, které obsahuje, a pomocí těchto informací můžete změnit nebo upravit DataGridViewRowContextMenuStripNeededEventArgs.ContextMenuStrip vlastnost. Tato vlastnost je inicializována hodnotou vlastnosti řádku ContextMenuStrip , kterou hodnota události přepíše.
RowContextMenuStripNeeded Zpracujte událost při práci s velkým množstvím dat, abyste se vyhnuli sankcím za výkon při nastavování hodnoty řádku ContextMenuStrip pro více řádků. Další informace naleznete v tématu Osvědčené postupy pro škálování ovládacího prvku Windows Forms DataGridView.
Další informace o zpracování událostí naleznete v tématu Zpracování a vyvolávání událostí.
Při vytváření delegáta DataGridViewRowContextMenuStripNeededEventHandler identifikujete metodu, která bude zpracovávat událost. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události se volá při každém výskytu události, pokud delegáta neodeberete. Další informace o delegátech obslužné rutiny událostí naleznete v tématu Zpracování a vyvolávání událostí.
Metody rozšíření
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
Získá objekt, který představuje metodu reprezentovanou zadaným delegátem. |