一个C#的工程,现在要把IE嵌入到窗口中,使得可以给一个URL就可以让相关内容显示在这个窗体中(比如是个对话框),该如何来做? C#有现成的类或者代码吗?
解决方案 »
- 如何确定用户把我的软件安装到哪个目录了?我要编个自动升级程序
- 属性赋值的时候,当不能确定值类型的时候如何处理呀
- 询问一个关于注释文档的问题
- winform中菜单怎么弄?
- 如何解决lock死锁问题?
- Html的输入框中,有没有能够包含其它标记语言的啊(即输入框的内容可以显示格式标记)
- DataGrid分页的特殊情况
- .NET用 POST模拟百度登陆源代码谁有?
- 找到《Microsoft .NET框架程序设计》中文版了
- 虚方法的重写与普通方法的隐藏的区别
- if(t<0) t=~t;解释一下 3ks!!
- 请教: DataList控件中想利用LinkButton或HyperLink控件动态绑定'id'
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.Threading;
using Utility;namespace DMS.Component
{
/// <summary>
/// Browser 的摘要说明。
/// </summary>
public class Browser : System.Windows.Forms.UserControl
{
private AxSHDocVw.AxWebBrowser mBrowser;
private System.Windows.Forms.Panel panel1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Browser()
{
InitializeComponent();
Reset();
} protected override void WndProc(ref Message m)
{
try
{
base.WndProc (ref m);
}
catch
{
}
}
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Browser));
this.mBrowser = new AxSHDocVw.AxWebBrowser();
this.panel1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.mBrowser)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// mBrowser
//
this.mBrowser.AccessibleDescription = resources.GetString("mBrowser.AccessibleDescription");
this.mBrowser.AccessibleName = resources.GetString("mBrowser.AccessibleName");
this.mBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("mBrowser.Anchor")));
this.mBrowser.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("mBrowser.BackgroundImage")));
this.mBrowser.ContainingControl = this;
this.mBrowser.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("mBrowser.Dock")));
this.mBrowser.Enabled = ((bool)(resources.GetObject("mBrowser.Enabled")));
this.mBrowser.Font = ((System.Drawing.Font)(resources.GetObject("mBrowser.Font")));
this.mBrowser.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("mBrowser.ImeMode")));
this.mBrowser.Location = ((System.Drawing.Point)(resources.GetObject("mBrowser.Location")));
this.mBrowser.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("mBrowser.OcxState")));
this.mBrowser.RightToLeft = ((bool)(resources.GetObject("mBrowser.RightToLeft")));
this.mBrowser.Size = ((System.Drawing.Size)(resources.GetObject("mBrowser.Size")));
this.mBrowser.TabIndex = ((int)(resources.GetObject("mBrowser.TabIndex")));
this.mBrowser.Text = resources.GetString("mBrowser.Text");
this.mBrowser.Visible = ((bool)(resources.GetObject("mBrowser.Visible")));
this.mBrowser.DocumentComplete += new AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEventHandler(this.mBrowser_DocumentComplete);
//
// panel1
//
this.panel1.AccessibleDescription = resources.GetString("panel1.AccessibleDescription");
this.panel1.AccessibleName = resources.GetString("panel1.AccessibleName");
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("panel1.Anchor")));
this.panel1.AutoScroll = ((bool)(resources.GetObject("panel1.AutoScroll")));
this.panel1.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("panel1.AutoScrollMargin")));
this.panel1.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("panel1.AutoScrollMinSize")));
this.panel1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("panel1.BackgroundImage")));
this.panel1.Controls.Add(this.mBrowser);
this.panel1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("panel1.Dock")));
this.panel1.Enabled = ((bool)(resources.GetObject("panel1.Enabled")));
this.panel1.Font = ((System.Drawing.Font)(resources.GetObject("panel1.Font")));
this.panel1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("panel1.ImeMode")));
this.panel1.Location = ((System.Drawing.Point)(resources.GetObject("panel1.Location")));
this.panel1.Name = "panel1";
this.panel1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("panel1.RightToLeft")));
this.panel1.Size = ((System.Drawing.Size)(resources.GetObject("panel1.Size")));
this.panel1.TabIndex = ((int)(resources.GetObject("panel1.TabIndex")));
this.panel1.Text = resources.GetString("panel1.Text");
this.panel1.Visible = ((bool)(resources.GetObject("panel1.Visible")));
//
// Browser
//
this.AccessibleDescription = resources.GetString("$this.AccessibleDescription");
this.AccessibleName = resources.GetString("$this.AccessibleName");
this.AutoScroll = ((bool)(resources.GetObject("$this.AutoScroll")));
this.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMargin")));
this.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMinSize")));
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
this.Controls.Add(this.panel1);
this.Enabled = ((bool)(resources.GetObject("$this.Enabled")));
this.Font = ((System.Drawing.Font)(resources.GetObject("$this.Font")));
this.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("$this.ImeMode")));
this.Location = ((System.Drawing.Point)(resources.GetObject("$this.Location")));
this.Name = "Browser";
this.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("$this.RightToLeft")));
this.Size = ((System.Drawing.Size)(resources.GetObject("$this.Size")));
((System.ComponentModel.ISupportInitialize)(this.mBrowser)).EndInit();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false); }
#endregion bool mCompleteFlag = true;
/// <summary>
/// 定制发送头
/// </summary>
public string Headers
{
get
{
return mHeaders;
}
set
{
mHeaders = value;
}
}
private string mHeaders = ""; private void mBrowser_DocumentComplete(object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)
{
mCompleteFlag = true;
} /// <summary>
/// 以串行的方式把IE控件导航到指定的URL, 当接收到IE控件发出DocumentComplete事件时即返回
/// </summary>
/// <param name="url"></param>
public void Goto(string url)
{
try
{
if (mCompleteFlag == false)
{
return;
} mCompleteFlag = false;
IEUtil.BrowserNavigate(mBrowser, url, mHeaders);
while (mCompleteFlag == false)
{
Application.DoEvents();
Thread.Sleep(1);
}
}
catch(Exception err)
{
throw new Exception(err.ToString());
}
}
/// 把IE控件导航到about:blank页面.
/// </summary>
public void Reset()
{
Goto("about:blank");
} public void Refresh2()
{
object o = Type.Missing;
this.mBrowser.Refresh2(ref o);
} /// <summary>
/// 获取IE控件的 Document 对象
/// </summary>
public object Document
{
get
{
return mBrowser.Document;
}
} /// <summary>
/// 获取控件所封装的IE控件, 以实现更深更详细的功能调用
/// </summary>
public AxSHDocVw.AxWebBrowser WebBrowser
{
get
{
return mBrowser;
}
}
}
}