winform 如何实现像IE那种同时可以打开多个网页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 如何实现像IE那种同时可以打开多个网页相关的知识,希望对你有一定的参考价值。
我现在在使用C#Winform的webbrowser控件做一个小的浏览器,现在想实现想IE浏览器那种同时可以打开多个网页(选项卡)的功能,不知道如何实现。求解决方案、有源代码更好。
参考技术A 晕~原来有源代码。。我还特意写一个。。。。算了你看看吧~也是Tab实现,我只想到动态添加tab
里面再放个 webbrowser就差不多了~基本都是这么实现的吧。
如下:
------------------------------------------------------
private void button3_Click(object sender, EventArgs e)
Form f = new Form();
f.Name ="新选项卡";
f.BackColor = Color.Blue;
this.tabControl1.TabPages[0].Controls.Clear();
new_tab(tabControl1, f.Name);
f.Show();
private System.Windows.Forms.TabPage new_tabPage;
int i = 0;
public void new_tab(TabControl t,string Fname)
this.new_tabPage = new System.Windows.Forms.TabPage();
this.SuspendLayout();
//
// new_tabPage
//
this.new_tabPage.Location = new System.Drawing.Point(4, 21);
this.new_tabPage.Name = "tabPage_"+i;
this.new_tabPage.Padding = new System.Windows.Forms.Padding(3);
this.new_tabPage.Size = new System.Drawing.Size(192, 75);
this.new_tabPage.TabIndex = 1;
this.new_tabPage.Text = Fname;
this.new_tabPage.UseVisualStyleBackColor = true;
this.new_tabPage.Tag = "tabPage_" + i;
t.TabPages.Add(new_tabPage);
i++;
public void del_tab(TabControl t, string Fname)
t.TabPages.RemoveByKey(Fname);
//双击删除TAB
private void tabControl1_MouseDoubleClick(object sender, MouseEventArgs e)
if (tabControl1.TabCount > 1)
del_tab(tabControl1, tabControl1.SelectedTab.Name);
else if (tabControl1.TabCount == 1 && tabControl1.SelectedTab.Name != "about:blank")
del_tab(tabControl1, tabControl1.SelectedTab.Name);
new_tab(tabControl1, "about:blank");
参考技术B 使用Tab,仿傲游浏览器源码:
http://win.51aspx.com/CV/MyMaxthon本回答被提问者采纳
web显示winform,web打开winform,IE打开winform
前言:为什么要用ie打开winform
个人觉得,winform部署client太麻烦如金蝶··用友,winfrom打补丁太麻烦,加入新功能再部署很费时间;于是就想为什么不能用IE打开呢?这样就不须要部署client,文件更新仅仅须要在server做。有想法就一定要实现。。
优点。winform稳定。前台控件devpress全然满足UI,不须要写大量的WEB前台美化代码。更重要的开发很省时间。
。。。。
。
----------------------------------------------------------------
开发环境: win7+vs2010
webserver:win2008 自带web服务程序
----------------------------------------------------
<table id=‘waiting‘ style=‘width:100%; height:100%;position:absolute; visibility:hidden; background:#ffffff;‘ border=‘0‘ cellspaceing=‘0‘ cellpadding=‘0‘>
<tr>
<td valign=‘middle‘ align=‘center‘>
<table border=‘2‘ cellspacing=‘2‘ height=‘50‘>
<tr>
<td align=‘center‘ width=‘400‘ style=‘font-size:12pt; background:#ffffff;‘>
<b><font color=‘blue‘>Loading...</font></b>
</td>
</tr>
</table>
</td>
</tr>
</table>
<script language=‘Javascript‘> waiting.style.visibility=‘visible‘ </script>
<html>
<head>
<link rel="shortcut icon" href="swerp.ico">
<title>⑵⑵ SuHe SYSTEM ⑵⑵</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<style type="text/css">
/*
body {
scrollbar-shadow-color: #ffffff;
scrollbar-highlight-color: #ffffff;
scrollbar-face-color: #d9d9d9;
scrollbar-3dlight-color: #d9d9d9;
scrollbar-darkshadow-color: #d9d9d9;
scrollbar-track-color: #ffffff;
scrollbar-arrow-color: #ffffff;
}
*/
html, body { overflow:hidden; }
</style>
<script language="text/javascript">
function window.onload()
{
try
{
if (document.all.waiting != null)
{
document.all.waiting.style.visibility = "hidden";
document.all.waiting.style.height = "0px";
}
}
catch(e)
{
alert(e.name + "[Load] : " + e.message);
if (document.all.waiting.style.height != "0px")
{
document.all.waiting.style.visibility = "hidden";
document.all.waiting.style.height = "0px";
}
}
}
</script>
</head>
<body leftmargin="3" topmargin="3" marginwidth="3" marginheight="3" overflow:hidden; >
<object classid="MainControlLibrary.dll#MainControlLibrary.MainControlLibrary" height="100%" width="100%"/>
</body>
</html>
----------------------------------------------------
1. 以上是网页代码(main.htm),解析 dll文件 ,注意最后一句话 ,切记别语法格式
MainControlLibrary.dll#MainControlLibrary.MainControlLibrary
----------------------------------------------------
2. MainControlLibrary.dll 怎样生成
vs-C#-WindowsFormsControlLibrary3-UserControl1.cs (页面内容自己加入)
将 WindowsFormsControlLibrary3 改为 MainControlLibrary
UserControl1 改为 MainControlLibrary
-----------------------------------------------------
3.webserver设置
配置不做解说。
站点-Default web site --加入应用程序-别名(webdll)--物理路径(web网页和dll文件路径)--确定
------------------------------------------------------
4. clientIE 设置
收信任的网站 --ip地址加入--自己定义级别--所有启用 Activex
win7 .net安全设置 cmd 执行 或者保存批处理执行。注意要管理员权限
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -q -rg "1"
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\caspol.exe -q -rg "1"
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\caspol.exe -q -rg "1"
C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\caspol.exe -q -rg "1"
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol -pp off -machine -addgroup All_Code -url http://192.168.20.20/* FullTrust -n 1
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\caspol -pp off -machine -addgroup All_Code -url http://192.168.20.20/* FullTrust -n 1
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\caspol -pp off -machine -addgroup All_Code -url http://192.168.20.20/* FullTrust -n 1
C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\caspol -pp off -machine -addgroup All_Code -url http://192.168.20.20/* FullTrust -n 1
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\caspol.exe -q -rg "1"
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\caspol.exe -q -rg "1"
C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\caspol.exe -q -rg "1"
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol -pp off -machine -addgroup All_Code -url http://192.168.20.20/* FullTrust -n 1
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\caspol -pp off -machine -addgroup All_Code -url http://192.168.20.20/* FullTrust -n 1
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\caspol -pp off -machine -addgroup All_Code -url http://192.168.20.20/* FullTrust -n 1
C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\caspol -pp off -machine -addgroup All_Code -url http://192.168.20.20/* FullTrust -n 1
--------------------------------------------------------
5. ie中输入 http://192.168.20.20/webdll/main.htm
能够和winform一样操作数据
-------完毕-------------
------------------------------------------------------
兴许探讨问题:
1.传输数据也用webserver实现(sql连接文件放在server上)2.动态加入菜单
3.动态加入dll
以上是关于winform 如何实现像IE那种同时可以打开多个网页的主要内容,如果未能解决你的问题,请参考以下文章
(C#)如何用winform实现,打开ie时,自动弹出指定网址的页面??
winform如何在一个form中修改另一个form控件属性
web显示winform,web打开winform,IE打开winform