Webbrowser Auswahl

24/12/2009 - 13:07 von Ren | Report spam
Moin!

Kann mir mal jemand helfen? Hab hier Webbrowser-Control in dem icke eine
temporaere HTM-Datei im lokalen Dateisystem öffne.

Dem Webbrowser moechte ich ein ContextMenu verpassen in dem versch.
Actions, je nach dem, ob was im Webbrowser ausgewàhlt ist nutzbar sein
sollen.

Leideer finde ich kein Event das die Änderung einer Auswahl signalisiert.
Was kann ich hier tun um zu erkennen wenn Auswahl geàndert wurde?

Salut, Renè
 

Lesen sie die antworten

#1 Frank Dzaebel
24/12/2009 - 18:02 | Warnen spam
Hallo Renè,

Kann mir mal jemand helfen? Hab hier Webbrowser-Control in dem icke
eine
temporaere HTM-Datei im lokalen Dateisystem öffne.
Dem Webbrowser moechte ich ein ContextMenu verpassen in dem versch.
Actions, je nach dem, ob was im Webbrowser ausgewàhlt ist nutzbar
sein
sollen.



Geht zum Beispiel über DHTML:

[Custom Context Menus, Print from Script, Great Dialogs]
http://msdn.microsoft.com/en-us/lib...64003.aspx

[oncontextmenu Event (A, ADDRESS, APPLET, ...)]
http://msdn.microsoft.com/en-us/lib...36914.aspx

oder gleich persistent erweitert:

[Link mit Titel in die Zwischenablage]
http://dzaebel.net/LinkTitle.htm

________________

Wenn ein eigenes WinForm-ContextMenuStrip gebunden
(bzw. mit dem des HTML-DOM ersetzt) werden soll, dann zum Beispiel:

WebBrowser wb = new WebBrowser();

private void Form1_Load(object sender, EventArgs e)
{
wb.Dock = DockStyle.Fill; Controls.Add(wb);
Uri uri; Uri.TryCreate(Path.Combine(Application.StartupPath,
"HTMLPage1.htm"), UriKind.Absolute, out uri);
wb.DocumentCompleted + new WebBrowserDocumentCompletedEventHandler(
wb_DocumentCompleted);
wb.Navigate(uri);
}

void wb_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
wb.Document.ContextMenuShowing + new HtmlElementEventHandler(
Document_ContextMenuShowing);
}


void Document_ContextMenuShowing(object sender,
HtmlElementEventArgs e)
{
e.ReturnValue = false;
contextMenuStrip1.Show(Cursor.Position);
}
________

je nachdem, was im Browser ausgewàhlt ist [...]



das ist mehrdeutig, aber man kann über das DOM
alles über "ausgewàhlte" Elemente erfahren.
Das aktive ist normal: wb.Document.ActiveElement

Ansonsten weiterführende Techniken:

[Eigenes HTML im WebBrowser einfügen]
http://dzaebel.net/MshtmlTab.htm

[MSHTML ohne WebBrowser als Parser benutzen]
http://dzaebel.net/MshtmlParser.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen