接口的声明和一些相关的小方法
首先多谢朋友们的捧场;
今天给大家带来一个操作 WebBrowser 的一些高级方法,我专门写了一个
html 编辑器的实现代码,有需要的朋友可以自己扩充;
功 能 实 现 是 直 接 写 流 到 WebBrowser 内 不 通 过 临 时 文 件 , 并 且 支 持 对
WebBrowser 的一些高级控制(其实 script 可以达到的均可达到,想知道怎
么搞的可以阅读代码)。
其中关于 IPersistStreamInit 接口的声明费了翻工夫,因为以前在 delphi
中 没 这 么 麻 烦 , 呵 呵 。 在 网 络 上 找 了 大 半 天 没 找 到 , 最 后 还 是 祭 出
Reector,反编译 Windows.Forms,需要的朋友可以不用辛苦的自己搞了!
我在这个演示里,制作的 html 编辑环境是比简单的,您可以看看,比较比较
CodeProject 上的代码;我采用的是 ie 自身提供的编辑方法,只是这样的方式
都被运用于 web 方式的编辑器内,就好比这个 freeTextBox
以下是主要的代码:
1 /********************************
2 * 初始化浏览器状态
3 * 指向 about:blank
4 * *****************************/
5 private void Form1_Load(object sender, System.EventArgs e) {
6 object obj = null;
7 this.Show();
8 this.axWb.Navigate("about:blank",ref obj,ref obj,ref obj,ref obj);
9 //等待完成动作
10 while(axWb.ReadyState <
SHDocVw.tagREADYSTATE.READYSTATE_INTERACTIVE)
11 Application.DoEvents();
12
13 //初始化 html 编辑器
14 InitHtmlEditor();
15 }
16
17 /*******************************
18 * 这里是核心方法
19 * 完全调用 IE 自身的 html 编辑功能
20 * 可以看到,我采用了一种兼容的
21 * 方式,用 Frame(框架),这样
22 * 的话,默认安装的 Windows 98 都
评论1