Поделиться через


ContextMenu Класс

Определение

Внимание

ContextMenu is provided for binary compatibility with .NET Framework and is not intended to be used directly from your code. Use ContextMenuStrip instead.

Представляет контекстное меню.

Этот класс недоступен в .NET Core 3.1 и более поздних версиях. Используйте ContextMenuStrip вместо этого, который заменяет и расширяет ContextMenu элемент управления.

public ref class ContextMenu : System::Windows::Forms::Menu
public class ContextMenu : System.Windows.Forms.Menu
[System.ComponentModel.Browsable(false)]
[System.Obsolete("`ContextMenu` is provided for binary compatibility with .NET Framework and is not intended to be used directly from your code. Use `ContextMenuStrip` instead.", false, DiagnosticId="WFDEV006", UrlFormat="https://aka.ms/winforms-warnings/{0}")]
public class ContextMenu : System.Windows.Forms.Menu
type ContextMenu = class
    inherit Menu
[<System.ComponentModel.Browsable(false)>]
[<System.Obsolete("`ContextMenu` is provided for binary compatibility with .NET Framework and is not intended to be used directly from your code. Use `ContextMenuStrip` instead.", false, DiagnosticId="WFDEV006", UrlFormat="https://aka.ms/winforms-warnings/{0}")>]
type ContextMenu = class
    inherit Menu
Public Class ContextMenu
Inherits Menu
Наследование
Атрибуты

Примеры

В следующем примере кода создается обработчик событий для Popup события ContextMenu. Код в обработчике событий определяет, какие из двух элементов управления PictureBox именованным pictureBox1 , а TextBox именованный textBox1 — это элемент управления, отображающий контекстное меню. В зависимости от того, какой элемент управления вызвал ContextMenu отображение контекстного меню, элемент управления добавляет соответствующие MenuItem объекты в элемент ContextMenuуправления. В этом примере требуется, чтобы у вас был экземпляр ContextMenu класса с именем, определенным contextMenu1в форме. В этом примере также требуется, чтобы у вас был TextBox и добавлен в форму, PictureBox а ContextMenu для свойства этих элементов управления задано значение contextMenu1.

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

Комментарии

Этот класс недоступен в .NET Core 3.1 и более поздних версиях. Вместо этого используйте ContextMenuStrip.

Класс ContextMenu представляет контекстные меню, которые могут отображаться при нажатии правой кнопки мыши над элементом управления или областью формы. Контекстные меню обычно используются для объединения различных элементов меню из MainMenu формы, полезной для пользователя с учетом контекста приложения. Например, можно использовать контекстное меню, TextBox назначенное элементу управления, чтобы предоставить элементы меню для изменения шрифта текста, поиска текста в элементе управления или функции буфера обмена для копирования и вставки текста. Вы также можете отобразить новые MenuItem объекты в контекстном меню, которые не находятся в пределах контекстного MainMenu меню, чтобы предоставить конкретные команды, которые не подходят для MainMenu отображения.

Как правило, контекстное меню отображается, когда пользователь щелкает правую кнопку мыши над элементом управления или самой формой. Видимые элементы управления и Form свойство ContextMenu , которое привязывает ContextMenu класс к элементу управления, отображающем контекстное меню. Несколько элементов управления могут использовать ContextMenu. Свойство можно использовать SourceControl для определения последнего отображаемого элемента управления контекстного меню для выполнения задач, относящихся к элементу управления, или для изменения контекстного меню, отображаемого для элемента управления.

Возможно, вам нужно знать, когда отображается контекстное меню, чтобы задать флажки, отключить элементы и выполнить другие задачи меню перед отображением меню пользователю. Вы можете обработать Popup событие, чтобы определить, когда отображается контекстное меню.

Замечание

Чтобы повторно использовать MenuItem объекты, отображаемые в MainMenu объекте для использования, ContextMenuнеобходимо создать копию меню с помощью CloneMenu метода MenuItem класса. Вы также можете объединить элементы меню и их вложенные элементы в один MenuItem объект с помощью MergeMenu метода MenuItem класса.

Конструкторы

Имя Описание
ContextMenu()
Устаревшие..

Инициализирует новый экземпляр ContextMenu класса без указанных элементов меню.

ContextMenu(MenuItem[])
Устаревшие..

Инициализирует новый экземпляр ContextMenu класса с указанным набором MenuItem объектов.

Поля

Имя Описание
FindHandle
Устаревшие..

Указывает, что FindMenuItem(Int32, IntPtr) метод должен искать дескриптор.

(Унаследовано от Menu)
FindShortcut
Устаревшие..

Указывает, что FindMenuItem(Int32, IntPtr) метод должен искать ярлык.

(Унаследовано от Menu)

Свойства

Имя Описание
CanRaiseEvents
Устаревшие..

Возвращает значение, указывающее, может ли компонент вызвать событие.

(Унаследовано от Component)
Container
Устаревшие..

Возвращает объект IContainer , содержащий Componentобъект .

(Унаследовано от Component)
DesignMode
Устаревшие..

Возвращает значение, указывающее, находится ли текущий Component режим разработки.

(Унаследовано от Component)
Events
Устаревшие..

Возвращает список обработчиков событий, подключенных к этому Component.

(Унаследовано от Component)
Handle
Устаревшие..

Возвращает значение, представляющее дескриптор окна для меню.

(Унаследовано от Menu)
IsParent
Устаревшие..

Возвращает значение, указывающее, содержит ли это меню любые элементы меню. Это свойство доступно только для чтения.

(Унаследовано от Menu)
MdiListItem
Устаревшие..

Возвращает значение, указывающее MenuItem , что используется для отображения списка дочерних форм интерфейса документа (MDI).

(Унаследовано от Menu)
MenuItems
Устаревшие..

Возвращает значение, указывающее коллекцию MenuItem объектов, связанных с меню.

(Унаследовано от Menu)
Name
Устаревшие..

Возвращает или задает имя Menuобъекта .

(Унаследовано от Menu)
RightToLeft
Устаревшие..

Возвращает или задает значение, указывающее, отображается ли текст, отображаемый элементом управления справа налево.

Site
Устаревшие..

Возвращает или задает ISite объект Component.

(Унаследовано от Component)
SourceControl
Устаревшие..

Возвращает элемент управления, отображающий контекстное меню.

Tag
Устаревшие..

Возвращает или задает определяемые пользователем данные, связанные с элементом управления.

(Унаследовано от Menu)

Методы

Имя Описание
CloneMenu(Menu)
Устаревшие..

Копирует данные Menu , передаваемые в качестве параметра в текущий Menu.

(Унаследовано от Menu)
CreateMenuHandle()
Устаревшие..

Создает новый дескриптор Menuдля .

(Унаследовано от Menu)
CreateObjRef(Type)
Устаревшие..

Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Dispose()
Устаревшие..

Освобождает все ресурсы, используемые параметром Component.

(Унаследовано от Component)
Dispose(Boolean)
Устаревшие..

Удаляет ресурсы, отличные от памяти, используемой параметром Menu.

(Унаследовано от Menu)
Equals(Object)
Устаревшие..

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindMenuItem(Int32, IntPtr)
Устаревшие..

Возвращает значение MenuItem , содержащее указанное значение.

(Унаследовано от Menu)
FindMergePosition(Int32)
Устаревшие..

Возвращает позицию, в которую следует вставить элемент меню.

(Унаследовано от Menu)
GetContextMenu()
Устаревшие..

Возвращает значение ContextMenu , содержащее это меню.

(Унаследовано от Menu)
GetHashCode()
Устаревшие..

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
GetMainMenu()
Устаревшие..

Возвращает значение MainMenu , содержащее это меню.

(Унаследовано от Menu)
GetService(Type)
Устаревшие..

Возвращает объект, представляющий службу, предоставляемую Component или ее Container.

(Унаследовано от Component)
GetType()
Устаревшие..

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()
Устаревшие..

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)
Устаревшие..

Создает неглубокую копию текущего MarshalByRefObject объекта.

(Унаследовано от MarshalByRefObject)
MergeMenu(Menu)
Устаревшие..

MenuItem Объединяет объекты одного меню с текущим меню.

(Унаследовано от Menu)
OnCollapse(EventArgs)
Устаревшие..

Вызывает событие Collapse.

OnPopup(EventArgs)
Устаревшие..

Вызывает событие Popup.

ProcessCmdKey(Message, Keys, Control)
Устаревшие..

Обрабатывает ключ команды.

ProcessCmdKey(Message, Keys)
Устаревшие..

Обрабатывает ключ команды.

(Унаследовано от Menu)
Show(Control, Point, LeftRightAlignment)
Устаревшие..

Отображает контекстное меню в указанной позиции и с указанным выравниванием.

Show(Control, Point)
Устаревшие..

Отображает контекстное меню в указанной позиции.

ToString()
Устаревшие..

Возвращает объект String управления, представляющий элемент Menu управления.

(Унаследовано от Menu)

События

Имя Описание
Collapse
Устаревшие..

Происходит при сворачивании контекстного меню.

Disposed
Устаревшие..

Происходит при удалении компонента вызовом Dispose() метода.

(Унаследовано от Component)
Popup
Устаревшие..

Происходит перед отображением контекстного меню.

Применяется к

См. также раздел