Tag: webbrowser control

如何将网页保存为图像

我有一个WebBrowser控件,我想保存查看到图像的整个页面(任何网页)。 我尝试使用IHTMLElementRender接口但它并不适用于所有网页。 也许我做错了,因为有时快照包括滚动条,有时它只是部分。 你有一个可以将整个网页保存到图像的工作示例吗? 谢谢。

WebBrowser文档已完成事件C#

下面是我用作浏览器的DocumentCompleted事件的函数,以及navBtnClick()方法,该方法负责创建Web浏览器并导航到特定URL。 public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { MessageBox.Show( ((WebBrowser)sender).Url.ToString() ); } private void navBtnClick(object sender, EventArgs e) { WebBrowser wbrowser = new WebBrowser(); wbrowser.DocumentCompleted +=new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted); wbrowser.Navigate(“http://www.google.com”); } 现在经过这行wbrowser.Navigate(“http://www.google.com”); 执行时,有一个消息框正确显示url,然后一段时间后,另一个消息框显示相同的url。 因此,发生的事情是, DocumentCompleted事件处理程序上的任何内容都会被执行两次。 有人可以帮助我让它只执行一次吗?

WebBrowser键盘快捷键

我有一个WebBrowser控件显示一些HTML。 我希望用户能够复制整个文档,但不能做任何其他事情。 我将IsWebBrowserContextMenuEnabled和WebBrowserShortcutsEnabled属性设置为false ,我想处理KeyUp并在用户按Ctrl + C时运行一些代码。 我怎样才能做到这一点? WebBrowser控件不支持键盘事件。 我尝试使用KeyPreview的表单的KeyUp事件,但它根本没有触发。 编辑 :这是我的解决方案,灵感来自Jerb的回答。 class CopyableWebBrowser : WebBrowser { public override bool PreProcessMessage(ref Message msg) { if (msg.Msg == 0x101 //WM_KEYUP && msg.WParam.ToInt32() == (int)Keys.C && ModifierKeys == Keys.Control) { DoCopy(); return true; } return base.PreProcessMessage(ref msg); } void DoCopy() { Document.ExecCommand(“SelectAll”, false, null); Document.ExecCommand(“Copy”, false, null); Document.ExecCommand(“Unselect”, […]

如何在C#中使用WebBrowser控件清除浏览历史记录

我希望在WebBrowser完成浏览后清除C#中WebBrowser控件的浏览历史记录。 这是我的代码: try { foreach (string sr in File.ReadAllLines(“link.txt”)) { webBrowser1.Navigate(sr); webBrowser1.ScriptErrorsSuppressed = true; } while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } } catch(Exception) { MessageBox.Show(“Internet Connection not found”,”Error”,MessageBoxButtons.OK,MessageBoxIcon.Error); this.Close(); }

如何清除System.Windows.Forms.WebBrowser会话数据?

如何在不重新启动应用程序的情况下清除当前会话数据(cookie,缓存数据,auth会话等)? 更新:我在谈论Windows.Forms中的WebBrowser控件,而不是ASP.Net会话。

如何使用wpf从Web浏览器控件中的任何标记获取值

我在字符串类型变量中有一个完整的网页源代码。 这些代码如下: – Twitter / Authorize an application html { display:none; } html { display: block; } Twitter ankita_yahoo User Management New Tweet Settings Help You’ve granted access to ThisTweetControl! Next, return this PIN to complete the authorization process: 6107346 Go to Twitter Go to the ThisTweetControl homepage You can revoke access to any application […]

如何以编程方式导航webbrowser?

我想使用定义的函数导航我的Web浏览器,例如: webbrowser1.navigate (my defined function); 此Web浏览器在用户控件中定义,以便任何人都可以更改其默认网页 如何定义路径设置的函数?

在新的Thread()中创建控件时在正确的线程上调用方法

我在新的Thread()中创建了一个新的WebBrowser()控件。 我遇到的问题是,当从主线程调用我的WebBrowser的委托时,调用正在主线程上进行 。 我希望这会发生在browserThread上 。 private static WebBrowser defaultApiClient = null; delegate void DocumentNavigator(string url); private WebApi() { // Create a new thread responsible // for making API calls. Thread browserThread = new Thread(() => { defaultApiClient = new WebBrowser(); // Setup our delegates documentNavigatorDelegate = new DocumentNavigator(defaultApiClient.Navigate); // Anonymous event handler defaultApiClient.DocumentCompleted += (object […]

用于.NET的OLE容器

我正在开发一个项目,要求我加载一个OLE对象并在.NET WinForm应用程序(C#)中呈现它。 与VB6 .NET不同,它没有内置的OLE容器,推荐的方法是使用支持显示ActiveX内容的WebBrowser控件。 我遇到的问题是有问题的OLE对象的提供者没有可用的ActiveX控件。 简单地说有没有办法将OLE对象加载到WinForm上? 或者我需要编写一个加载OLE对象的ActiveX控件吗? 如果是后者,有没有人有这样的例子或推荐的阅读材料? 干杯, 渣。

程序自动化表单字段输入和网页结果检查

我正在尝试使用C#(可能使用WinForms)创建一个程序,该程序将在特定网站的表单字段中输入许可证号,并validation许可证号是否是当前有效的许可证。 我不确定从哪里开始,因为我甚至无法在网站的源代码中找到表单字段ID,并且不确定网站使用什么技术。 此外,该程序的目的是输入许可证号列表并返回每个许可证的名称和validation状态。 数据源是网站。 关于如何解决这个问题的任何信息都将非常感激,我是一名中级C#开发人员 – 主要在ASP.Net工作,但感觉Winforms可能更适合这个项目。 亲切的问候