VS2010中怎样添加 Forms.WebBrowser ?

wugamp 2016-08-12 09:01:33
想用 VS2010 显示 MHT 文件,为此需要用到 System.Windows.Forms.WebBrowser。
但是如果直接从 tool box 拖到界面上的话,得到是 System.Window.Controls.WebBrowser。
请问怎样才能添加 Forms.WebBrowser 呢?
...全文
82 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wugamp 2016-08-15
多谢你的启发,搞定了! 原来应该先建立一个普通的 form,把webBrowser 嵌进去。
回复
zjq9931 2016-08-12
引用 6 楼 wugamp 的回复:
[quote=引用 5 楼 zjq9931 的回复:] [quote=引用 4 楼 wugamp 的回复:] 刚才尝试了这个办法: 一、在项目中 add new item,选择 form,于是多了一个 form1 类 二、在 form1.cs 中,手工改成: public partial class Form1 : WebBrowser。至此,编译通过。下面的问题就是如何显示之了。 三、在项目里声明一个 form1对象: public partial class MainWindow : Window { AsyncUdpClient MainAsyncUdpClient = null; private bool reverse = false; public MainWindow() { InitializeComponent(); } Form1 g_f; 四、在按钮里,加上 g_f.Show()。 编译通过,运行无错,但 g_f 不出现。
直接改肯定是无法显示的,有没有指定g_f的网页呢?指定好了应当就可以了。[/quote] 指定了啊,是本地的 MHT 文件: private void button1_Click(object sender, RoutedEventArgs e) { g_f = new Form1(); g_f.Width = 500; g_f.Height = 500; g_f.Navigate(@"d:\w\froPC.mht"); g_f.Show(); } 点击按钮后,看到鼠标停滞了一会,应该是读入了 MHT,没报错,但不显示。[/quote] 我不确定C#是怎么搞得。 MFC不是这样做的。。。 MFC里面需要有两个:一个模板窗口,和一个HTML。 不知道C#是否需要模板窗口(就是HTML在哪个窗口里面显示),我想应当是需要的。 否则就是hta文件打开的那种样子了。
回复
wugamp 2016-08-12
引用 5 楼 zjq9931 的回复:
[quote=引用 4 楼 wugamp 的回复:] 刚才尝试了这个办法: 一、在项目中 add new item,选择 form,于是多了一个 form1 类 二、在 form1.cs 中,手工改成: public partial class Form1 : WebBrowser。至此,编译通过。下面的问题就是如何显示之了。 三、在项目里声明一个 form1对象: public partial class MainWindow : Window { AsyncUdpClient MainAsyncUdpClient = null; private bool reverse = false; public MainWindow() { InitializeComponent(); } Form1 g_f; 四、在按钮里,加上 g_f.Show()。 编译通过,运行无错,但 g_f 不出现。
直接改肯定是无法显示的,有没有指定g_f的网页呢?指定好了应当就可以了。[/quote] 指定了啊,是本地的 MHT 文件: private void button1_Click(object sender, RoutedEventArgs e) { g_f = new Form1(); g_f.Width = 500; g_f.Height = 500; g_f.Navigate(@"d:\w\froPC.mht"); g_f.Show(); } 点击按钮后,看到鼠标停滞了一会,应该是读入了 MHT,没报错,但不显示。
回复
zjq9931 2016-08-12
引用 4 楼 wugamp 的回复:
刚才尝试了这个办法: 一、在项目中 add new item,选择 form,于是多了一个 form1 类 二、在 form1.cs 中,手工改成: public partial class Form1 : WebBrowser。至此,编译通过。下面的问题就是如何显示之了。 三、在项目里声明一个 form1对象: public partial class MainWindow : Window { AsyncUdpClient MainAsyncUdpClient = null; private bool reverse = false; public MainWindow() { InitializeComponent(); } Form1 g_f; 四、在按钮里,加上 g_f.Show()。 编译通过,运行无错,但 g_f 不出现。
直接改肯定是无法显示的,有没有指定g_f的网页呢?指定好了应当就可以了。
回复
wugamp 2016-08-12
刚才尝试了这个办法: 一、在项目中 add new item,选择 form,于是多了一个 form1 类 二、在 form1.cs 中,手工改成: public partial class Form1 : WebBrowser。至此,编译通过。下面的问题就是如何显示之了。 三、在项目里声明一个 form1对象: public partial class MainWindow : Window { AsyncUdpClient MainAsyncUdpClient = null; private bool reverse = false; public MainWindow() { InitializeComponent(); } Form1 g_f; 四、在按钮里,加上 g_f.Show()。 编译通过,运行无错,但 g_f 不出现。
回复
zjq9931 2016-08-12
引用 2 楼 wugamp 的回复:
但是我是要修改一个现有的程序,而不是重新创建程序啊! 当然我也试过 add new item, 里面允许加一个 windows.form,问题是怎么才能指定此为 webBrowser 呢?
你是用的C# 如果是MFC,不是很复杂,有CDHtmlDialog类。 从这个类里面派生就好了。 C#没做过,抱歉。。。
回复
wugamp 2016-08-12
但是我是要修改一个现有的程序,而不是重新创建程序啊! 当然我也试过 add new item, 里面允许加一个 windows.form,问题是怎么才能指定此为 webBrowser 呢?
回复
zjq9931 2016-08-12
在创建工程的第2步就有啊,使用基于HTML的对话框。这个就是。
回复
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2016-08-12 09:01
社区公告
暂无公告