ContextMenu Třída
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 místní nabídku.
Tato třída není k dispozici v .NET Core 3.1 a novějších verzích. Místo toho použijte příkaz ContextMenuStrip , který nahradí a rozšíří ContextMenu ovládací prvek.
public ref class ContextMenu : System::Windows::Forms::Menu
public class ContextMenu : System.Windows.Forms.Menu
type ContextMenu = class
inherit Menu
Public Class ContextMenu
Inherits Menu
- Dědičnost
Příklady
Následující příklad kódu vytvoří obslužnou rutinu Popup události pro událost ContextMenu. Kód v obslužné rutině události určuje, který ze dvou ovládacích prvků je pojmenovaný PictureBoxpictureBox1
a pojmenovaný TextBoxtextBox1
je ovládací prvek zobrazující místní nabídku. V závislosti na tom, který ovládací prvek způsobil ContextMenu zobrazení místní nabídky, přidá ovládací prvek příslušné MenuItem objekty do ContextMenu. Tento příklad vyžaduje, abyste měli ve formuláři definovanou instanci ContextMenu třídy s názvem contextMenu1
. Tento příklad také vyžaduje, abyste do TextBox formuláře přidali a PictureBox a aby ContextMenu vlastnost těchto ovládacích prvků byla nastavena na contextMenu1
hodnotu .
private:
void MyPopupEventHandler( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Define the MenuItem objects to display for the TextBox.
MenuItem^ menuItem1 = gcnew MenuItem( "&Copy" );
MenuItem^ menuItem2 = gcnew MenuItem( "&Find and Replace" );
// Define the MenuItem object to display for the PictureBox.
MenuItem^ menuItem3 = gcnew MenuItem( "C&hange Picture" );
// Clear all previously added MenuItems.
contextMenu1->MenuItems->Clear();
if ( contextMenu1->SourceControl == textBox1 )
{
// Add MenuItems to display for the TextBox.
contextMenu1->MenuItems->Add( menuItem1 );
contextMenu1->MenuItems->Add( menuItem2 );
}
else if ( contextMenu1->SourceControl == pictureBox1 )
{
// Add the MenuItem to display for the PictureBox.
contextMenu1->MenuItems->Add( menuItem3 );
}
}
private void MyPopupEventHandler(System.Object sender, System.EventArgs e)
{
// Define the MenuItem objects to display for the TextBox.
MenuItem menuItem1 = new MenuItem("&Copy");
MenuItem menuItem2 = new MenuItem("&Find and Replace");
// Define the MenuItem object to display for the PictureBox.
MenuItem menuItem3 = new MenuItem("C&hange Picture");
// Clear all previously added MenuItems.
contextMenu1.MenuItems.Clear();
if(contextMenu1.SourceControl == textBox1)
{
// Add MenuItems to display for the TextBox.
contextMenu1.MenuItems.Add(menuItem1);
contextMenu1.MenuItems.Add(menuItem2);
}
else if(contextMenu1.SourceControl == pictureBox1)
{
// Add the MenuItem to display for the PictureBox.
contextMenu1.MenuItems.Add(menuItem3);
}
}
Private Sub MyPopupEventHandler(sender As System.Object, e As System.EventArgs)
' Define the MenuItem objects to display for the TextBox.
Dim menuItem1 As New MenuItem("&Copy")
Dim menuItem2 As New MenuItem("&Find and Replace")
' Define the MenuItem object to display for the PictureBox.
Dim menuItem3 As New MenuItem("C&hange Picture")
' Clear all previously added MenuItems.
contextMenu1.MenuItems.Clear()
If contextMenu1.SourceControl Is textBox1 Then
' Add MenuItems to display for the TextBox.
contextMenu1.MenuItems.Add(menuItem1)
contextMenu1.MenuItems.Add(menuItem2)
ElseIf contextMenu1.SourceControl Is pictureBox1 Then
' Add the MenuItem to display for the PictureBox.
contextMenu1.MenuItems.Add(menuItem3)
End If
End Sub
Poznámky
Tato třída není k dispozici v .NET Core 3.1 a novějších verzích. Místo toho použijte ContextMenuStrip.
Třída ContextMenu představuje místní nabídky, které lze zobrazit, když uživatel klikne pravým tlačítkem myši na ovládací prvek nebo oblast formuláře. Místní nabídky se obvykle používají ke kombinování různých položek nabídky z MainMenu formuláře, které jsou užitečné pro uživatele vzhledem k kontextu aplikace. Můžete například použít místní nabídku přiřazenou k ovládacímu TextBox prvku k poskytnutí položek nabídky pro změnu písma textu, vyhledání textu v ovládacím prvku nebo funkce schránky pro kopírování a vkládání textu. Můžete také zobrazit nové MenuItem objekty v místní nabídce, které nejsou umístěny v objektu , MainMenu a poskytnout tak příkazy specifické pro konkrétní situaci, které nejsou vhodné pro zobrazení objektu MainMenu .
Místní nabídka se obvykle zobrazí, když uživatel klikne pravým tlačítkem myši na ovládací prvek nebo na samotný formulář. Viditelné ovládací prvky a Form mají ContextMenu vlastnost, která sváže ContextMenu třídu s ovládacím prvku, který zobrazuje místní nabídku. Více než jeden ovládací prvek může používat ContextMenu. Pomocí vlastnosti můžete SourceControl určit, který ovládací prvek naposledy zobrazil místní nabídku, aby bylo možné provádět úlohy specifické pro ovládací prvek nebo změnit místní nabídku zobrazenou pro ovládací prvek.
Možná budete chtít vědět, kdy se místní nabídka zobrazuje, abyste mohli nastavit značky zaškrtnutí, zakázat položky a provádět další úlohy nabídky předtím, než se nabídka zobrazí uživateli. Událostí můžete Popup určit, kdy se místní nabídka zobrazuje.
Poznámka
Chcete-li znovu použít MenuItem objekty, které jsou zobrazeny v objektu MainMenu pro použití v objektu ContextMenu, musíte vytvořit kopii nabídky pomocí CloneMenu metody MenuItem třídy . Můžete také sloučit položky nabídky a jejich podnabídky do jednoho MenuItem objektu MergeMenu pomocí metody MenuItem třídy .
Konstruktory
ContextMenu() |
Inicializuje novou instanci ContextMenu třídy bez zadaných položek nabídky. |
ContextMenu(MenuItem[]) |
Inicializuje novou instanci ContextMenu třídy se zadanou sadou MenuItem objektů. |
Pole
FindHandle |
Určuje, že FindMenuItem(Int32, IntPtr) metoda by měla vyhledat popisovač. (Zděděno od Menu) |
FindShortcut |
Určuje, že FindMenuItem(Int32, IntPtr) by metoda měla vyhledat zástupce. (Zděděno od Menu) |
Vlastnosti
CanRaiseEvents |
Získá hodnotu označující, zda komponenta může vyvolat událost. (Zděděno od Component) |
Container |
Získá objekt IContainer , který obsahuje Component. (Zděděno od Component) |
DesignMode |
Získá hodnotu, která označuje, zda je aktuálně v režimu návrhu Component . (Zděděno od Component) |
Events |
Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component. (Zděděno od Component) |
Handle |
Získá hodnotu představující popisovač okna pro nabídku. (Zděděno od Menu) |
IsParent |
Získá hodnotu označující, zda tato nabídka obsahuje nějaké položky nabídky. Tato vlastnost je jen ke čtení. (Zděděno od Menu) |
MdiListItem |
Získá hodnotu označující MenuItem , která se používá k zobrazení seznamu podřízených formulářů rozhraní MDI (Více dokumentů). (Zděděno od Menu) |
MenuItems |
Získá hodnotu označující kolekci objektů přidružených MenuItem k nabídce. (Zděděno od Menu) |
Name |
Získá nebo nastaví název objektu Menu. (Zděděno od Menu) |
RightToLeft |
Získá nebo nastaví hodnotu označující, zda text zobrazený ovládacím prvku je zobrazen zprava doleva. |
Site |
Získá nebo nastaví ISite z Component. (Zděděno od Component) |
SourceControl |
Získá ovládací prvek, který zobrazuje místní nabídku. |
Tag |
Získá nebo nastaví uživatelem definovaná data přidružená k ovládacímu prvku. (Zděděno od Menu) |
Metody
CloneMenu(Menu) |
Zkopíruje předaný Menu parametr do aktuálního Menuparametru . (Zděděno od Menu) |
CreateMenuHandle() |
Vytvoří nový popisovač pro Menu. (Zděděno od Menu) |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Dispose() |
Uvolní všechny prostředky používané nástrojem Component. (Zděděno od Component) |
Dispose(Boolean) |
Odstraní prostředky, jiné než paměť, které Menupoužívá . (Zděděno od Menu) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
FindMenuItem(Int32, IntPtr) |
Získá , MenuItem která obsahuje zadanou hodnotu. (Zděděno od Menu) |
FindMergePosition(Int32) |
Vrátí pozici, na které má být položka nabídky vložena do nabídky. (Zděděno od Menu) |
GetContextMenu() |
Získá , ContextMenu která obsahuje tuto nabídku. (Zděděno od Menu) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetMainMenu() |
Získá , MainMenu která obsahuje tuto nabídku. (Zděděno od Menu) |
GetService(Type) |
Vrátí objekt, který představuje službu poskytovanou objektem Component nebo .Container (Zděděno od Component) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
MergeMenu(Menu) |
Sloučí MenuItem objekty jedné nabídky s aktuální nabídkou. (Zděděno od Menu) |
OnCollapse(EventArgs) |
Collapse Vyvolá událost. |
OnPopup(EventArgs) |
Popup Vyvolá událost. |
ProcessCmdKey(Message, Keys) |
Zpracuje příkazový klíč. (Zděděno od Menu) |
ProcessCmdKey(Message, Keys, Control) |
Zpracuje příkazový klíč. |
Show(Control, Point) |
Zobrazí místní nabídku na zadané pozici. |
Show(Control, Point, LeftRightAlignment) |
Zobrazí místní nabídku na zadané pozici a se zadaným zarovnáním. |
ToString() |
Vrátí hodnotu , String která představuje Menu ovládací prvek. (Zděděno od Menu) |
Událost
Collapse |
Vyvolá se při sbalení místní nabídky. |
Disposed |
Vyvolá se, když je komponenta uvolněna voláním Dispose() metody . (Zděděno od Component) |
Popup |
Vyvolá se před zobrazením místní nabídky. |