ПРОБЛЕМА:Быстрые клавиши для веб-браузеров
У меня есть WebBrowser и выставляются его методы ActiveX. В моей форме, в которой размещен WebBrowser, у меня есть MainMenuStrip с ярлыками. Только когда я печатаю текстовое поле в своей форме, эти ярлыки работают правильно. Например, когда я нажимаю CTRL + N, ярлык моей формы - вместо открытия новой формы, открывается страница, в которой находится веб-браузер в IE.
что я пытался:
Я попытался фокусирования форме каждые 100 мс с помощью таймера, который не работал (это не будет жизнеспособным вариантом в любом случае, поскольку это не очень тонкий и программа должна тщательно перемещаться по WebBrowser с помощью SendKeys и т. д.).
Код для WebBrowser:
this.webBrowser1.WebBrowserShortcutsEnabled = false; this.webBrowser1.AllowWebBrowserDrop = false; this.webBrowser1.IsWebBrowserContextMenuEnabled = false;
Наследование WebBrowser и наиважнейшей ProcessCmdKey:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (keyData == (Keys.Control | Keys.N)) { newToolStripMenuItem.PerformClick(); return true; // or false } }
Я пытаюсь ДОСТИЖЕНИЯ:
Это WebB Ярлыки ярлыка отключены (я где-то читал, что ActiveX предотвращает это ... почему?).
Что бы я хотел, так это то, что, если в настоящее время не вводится/перемещается в WebBrowser, работают ярлыки формы. Основное внимание должно быть взято из WebBrowser везде, где есть щелчок вне контроля, а не только тогда, когда другие текстовые поля находятся в фокусе (например, когда есть щелчок в заготовке формы.
Можете ли вы пояснить, что вы имеете в виду, подвергая его методам ActiveX? –
@EvanHarper, я сделаю снимок: частный SHDocVw.WebBrowser_V1 Web_V1; Web_V1 = (SHDocVw.WebBrowser_V1) webBrowser1.ActiveXInstance; Вот как минимум код. Не уверен, что я полностью это понимаю! –
Действительно ли код на самом деле * делает * что-либо с этой ссылкой Web_V1? Это важная часть. –