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 

技术分享


--------------------------------------------------------
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控件属性

C#的winform中如何实现按钮闪烁发光?

web显示winform,web打开winform,IE打开winform

C#中 怎样在Winform窗体 右上角最小化左边添加一个按钮 ?像Q2013登录界面那种设置的按钮?

用winform的Panel播放视频(监控视频,mbf格式的),时间轴怎么实现?