Довольно просто создать собственное контекстное меню с помощью Visual studio. Просто перетащите элемент контекстного меню на вашу форму, и бум, ваш почти готов.
Добавьте нужные кнопки, при необходимости обрабатывайте их события нажатия / изменения.
Затем в своем коде либо используйте свойства элемента управления webBrowser, чтобы изменить контекстное меню на созданное вами, либо обработайте его в коде Form_Load.
private void Form1Load(object sender, EventArgs e)
{
mainBrowser.ContextMenuStrip = browserCMenu;
}
Где browserCMenu будет создан внутри дизайнера, но вы также можете создать из кода:
this.browserCMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
// This is the AddRange() command for items.
// You basically create your controls first (buttons, checkboxes, etc), and then assign
// them here, so they are added to your control.
this.browserCMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.copylinkMenuItem,
this.copyMenuitem});
this.browserCMenu.Name = "browserCMenu";
this.browserCMenu.Size = new System.Drawing.Size(128, 48);
Обратите внимание, что приведенный выше код сгенерирован дизайнером. Поскольку вы будете (скорее всего) использовать дизайнер Visual Studio для своей работы, вы можете просто выполнить следующие шаги:
- Перетащите элемент ContextMenuStrip из панели инструментов в форму.
- Нажмите «Введите здесь», чтобы присвоить название новой кнопке, или нажмите стрелку, чтобы добавить другой тип элементов управления.
- Затем просто дважды щелкните по добавленному элементу управления (кнопка, список и т. Д.), Чтобы обработать событие click / chagned для элемента контекстного меню и добавить свой код.
- Назначьте это контекстное меню в качестве контекстного меню для веб-браузера, изменив элемент контекстного меню веб-браузера (как показано в разделе Form1Load () выше).
Вы также можете запросить тип текста, на который вы нацелены, но я не буду вдаваться в подробности здесь, вы можете найти MSDN для этой информации или поискать здесь в StackOverflow, есть несколько статей на эту тему. Но это позволит вам получить разные контекстные меню для разных типов данных, по которым щелкают правой кнопкой мыши (лично я не считаю это полезным). Лучше всего просто представить стандартное контекстное меню для всех элементов управления браузера, которые используют одни и те же элементы контекстного меню, чтобы ваш код не застрял / не оказался слишком сложным при слишком большом количестве контекстных меню.