首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何修改,或者重写webbrowser控件的复制,粘贴

2012-05-16 
求助怎么修改,或者重写webbrowser控件的复制,粘贴是在按键事件那里吗?或者是重写窗口消息?外加顺便求替换w

求助怎么修改,或者重写webbrowser控件的复制,粘贴
是在按键事件那里吗?或者是重写窗口消息?
外加顺便求替换webbrowser右键的菜单栏的方法,希望能找到个清晰一点的例子,我网上搜的都挺乱的。

[解决办法]

C# code
    private void Form1_Load(object sender, EventArgs e)    {        webBrowser1.DocumentCompleted += (s, e1) =>        {            webBrowser1.Document.Body.DetachEventHandler("oncopy", OnCopy);            webBrowser1.Document.Body.AttachEventHandler("oncopy", OnCopy);            webBrowser1.Document.Body.DetachEventHandler("onpaste", OnPaste);            webBrowser1.Document.Body.AttachEventHandler("onpaste", OnPaste);        };                    webBrowser1.Navigate("www.sina.com");    }    void OnCopy(object sender, EventArgs e)    {        dynamic doc = webBrowser1.Document.DomDocument;        string text = doc.selection.createRange().text;        MessageBox.Show("copying text:" + text);    }    void OnPaste(object sender, EventArgs e)    {        string text = Clipboard.GetText();        Clipboard.SetData("Text", "paste text:" + text);    }
[解决办法]
webBrowser1.DocumentText = "<html><body></body></html>";
IHTMLDocument2 doc = webBrowser1.Document.DomDocument as IHTMLDocument2;
doc.designMode = "On";

Application.DoEvents();
webBrowser1.Document.Body.DetachEventHandler("oncopy", OnCopy);
webBrowser1.Document.Body.AttachEventHandler("oncopy", OnCopy);
webBrowser1.Document.Body.DetachEventHandler("onpaste", OnPaste);
webBrowser1.Document.Body.AttachEventHandler("onpaste", OnPaste);

热点排行