En mi aplicación, tengo un formulario que contiene un control de navegador en el que se muestra un informe de SSRS. Me gustaría evitar que el usuario haga clic derecho en el control del navegador y se le muestre el menú emergente. Idealmente, me gustaría que el clic derecho no haga nada. ¿Hay alguna manera de que pueda lograr esto?WebBrowser Control - Prevenir clic con el botón derecho
Respuesta
Puede establecer IsWebBrowserContextMenuEnabled igual a falso. También es probable que desee establecer AllowWebBrowserDrop igual a falso para que no puedan arrastrar una url en la aplicación y que se cargue.
webBrowser1.IsWebBrowserContextMenuEnabled = false;
webBrowser1.AllowWebBrowserDrop = false;
Funciona para Winforms WebBrowser, no la versión de WPF. –
La versión de WPF parece ser principalmente infrautilizada. Personalmente, termino usando WebBrowser de Forms a través de un control de WindowsFormsHost casi siempre. – Kaganar
@Kaganar El único problema con este enfoque es que está limitado a capacidades de nivel IE 5/6 para el renderizador HTML, a menos que configure entidades de registro para decirle a IE que use una versión posterior como 10/11 cuando su aplicación se conecte en ieframe.dll. – KeithS
Establezca la propiedad IsWebBrowserContextMenuEnabled
en false
.
Para WPF ===>
wbBrowser.ContextMenu.IsEnabled = false;
para cualquier caso, WinForm o WPF:
private void WebBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
((WebBrowser)sender).InvokeScript("eval", "$(document).contextmenu(function() { return false; });");
}
Esta es la mejor respuesta, ya que la más elegante (https://stackoverflow.com/a/21699086/592212) tiene problemas (al menos he tenido bloqueos), cuando WebBrowser (WPF) se incluía en la versión personalizada controlar. Requiere jQuery pensamiento. –
funciona perfectamente, sin requerir ningún cambio en la página cargada o en el propio diseño o registro de la aplicación :) – Nitin
tengo una solución funcione en mi proyecto (WPF - MVVM):
referencia complemento importante: Microsoft.mshtml
Evento de implementación: webBrowser.LoadCompleted + = webBrowser_LoadCompleted;
using mshtml;
private void webBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
object doc = webBrowser.Document;
HTMLDocumentEvents2_Event evn2 = doc as HTMLDocumentEvents2_Event;
HTMLDocumentEvents_Event evn = doc as HTMLDocumentEvents_Event;
evn.oncontextmenu += new HTMLDocumentEvents_oncontextmenuEventHandler(Evn_oncontextmenu);
evn2.oncontextmenu += new HTMLDocumentEvents2_oncontextmenuEventHandler(Evn2_oncontextmenu);
}
private bool Evn2_oncontextmenu(IHTMLEventObj pEvtObj)
{
return false;
}
private bool Evn_oncontextmenu()
{
return false;
}
Espero que lo ayudes.
- 1. Cómo desactivar el "clic derecho" en WPF Webbrowser Control?
- 2. Disparador clic con el botón derecho
- 3. Cómo simular el clic del mouse con el control WebBrowser
- 4. WinForms ListBox Haga clic con el botón derecho
- 5. Selenium 2 haga clic con el botón derecho
- 6. Capturar Haga clic con el botón derecho en HTML DIV
- 7. autohotkey ctrl + clic = clic derecho
- 8. ¿Cómo puedo hacer clic con el botón derecho para seleccionar un nodo en un control treeview?
- 9. Jquery/JS prevenir menú del botón derecho en los navegadores
- 10. Mostrando un menú emergente en QGraphicsScene, haga clic o haga clic con el botón derecho
- 11. Menú contextual de Extjs (clic con el botón derecho) en un botón
- 12. Escuche el clic derecho en el elemento svg con Raphael.js
- 13. ¿Cómo implemento un doble clic con el botón derecho para winforms?
- 14. copia Prevenir/pegar y haga clic en el botón derecho del significado de cuadro de texto (correo electrónico)
- 15. Haz clic derecho en GWT?
- 16. Detectar texto pegado con ctrl + v o hacer clic con el botón derecho -> pegar
- 17. Visual C# Haz clic con el botón secundario del botón
- 18. DataGridView, haga clic con el botón derecho en el menú/copiar ejemplo?
- 19. agregando mi programa para hacer clic con el botón derecho en el menú
- 20. ListaJaz Haga clic con el botón derecho en el menú (Usar, soltar, cancelar)
- 21. menú contextual con el botón derecho del mouse para datagridview
- 22. Haga clic derecho en JButton
- 23. BackgroundWorker y WebBrowser Control
- 24. Mostrar un archivo PDF local en WPF con WebBrowser-Control
- 25. Caché y el control WebBrowser en .Net
- 26. Pruebas de automatización Ui haga clic con el botón derecho en los menús
- 27. Haga clic con el botón derecho para seleccionar una fila de Datagridview
- 28. Haga clic con el botón derecho en seleccionar en .Net TreeNode
- 29. cómo agregar dbclick() al hacer clic con el botón derecho en jquery
- 30. Silverlight Selección de cuadrícula de datos al hacer clic con el botón derecho
¿Formas de Windows o WPF? ¿Es este el control WebBrowser o el control de Informe? –
¿Qué versión de SQL Server –
Si ha implementado un control de navegador, solo para mostrar un informe, en un control web SSRS, ¿por qué no usa el control de informes de Windows y evita el control del navegador en este escenario (si es así?)! –