Laden...

Cut, Copy und Paste Befehl im WebBrowser

Erstellt von daos06 vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.004 Views
D
daos06 Themenstarter:in
44 Beiträge seit 2006
vor 17 Jahren
Cut, Copy und Paste Befehl im WebBrowser

Hi erstmal.

Wie funktionieren die Cut, Copy und Paste Befehle bei einem WebBrowser.

TextBox ist ja so:

this.txtBox.Copy();

Aber beim WebBrowser funzt das nicht. 🙁

Ich hoffe ihr könnt mir helfen.

mfg. Daniel 😁

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo daos06,

Clipboard-Klasse

herbivore

D
daos06 Themenstarter:in
44 Beiträge seit 2006
vor 17 Jahren

Hmm.......

Clipboard.SetDataObject(wbBrowser.SelectedText);

funzt irgendwie nicht. 🙁

mfg. Daniel 😁

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo daos06,

das irgendetwas nicht funktioniert, ist eine denkbarschlechte Fehlerbeschreibung. Siehe auch Wie poste ich richtig? Punkt 5.

herbivore

D
daos06 Themenstarter:in
44 Beiträge seit 2006
vor 17 Jahren

Sorry, also das Problem ist, dass "Clipboard.SetDataObject" den WebBrowser nicht mag und anderstrum.

mfg. Daniel 😁

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo daos06,

hm, kann nicht sein, oder? Ich würde denken, dass es daran liegt, dass die WebBrowser-Klasse keine Eigenschaft SelectedText hat. Das müsste die Fehlermeldung aber auch sehr deutlich sagen.

Siehe auch Syntaxfehler selbst lösen (Compilerfehlermeldungen)

herbivore

D
daos06 Themenstarter:in
44 Beiträge seit 2006
vor 17 Jahren

Das ist mir eben auch aufgefallen, nur ich weis nicht, was ich stattdessen nehmen soll.

mfg. Daniel 😁

2.921 Beiträge seit 2005
vor 17 Jahren

Probiers mal nicht mit SetDataObject. Sondern Clipboard.SetData("Text",Webbrowser.SelectedText)

Setz gleich darunter mal die Zeile

object o = Clipboard.GetData("Text");

und guck Dir an, was in o steht. Eigentlich sollte es gehen.

Falls es Dir nur um den selektierten Text geht, probiers hiermit:


mshtml.IHTMLDocument2 HTMLDocument;
HTMLDocument  htmlDocument = (mshtml.IHTMLDocument2) browserComp.Document;
mySelection = htmlDocument.selection;
this.myTextRange = (mshtml.IHTMLTxtRange)mySelection.createRange();
myText = myTextRange.text; 

mshtml ist fast immer die Lösung wenn es um etwas geht, das mit der Standardbrowsercontrol von C# nicht zu lösen ist.

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

D
daos06 Themenstarter:in
44 Beiträge seit 2006
vor 17 Jahren

Danke für die Hilfe, ich machs aber so:

wbBrowser.Document.ExecCommand("Copy", false, null);

mfg. Daniel 😁