快速业务通道

将自定义.NET控件实现COM对象接口嵌入IE浏览器

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-12
            button1.Text = value;
            }
        }
添加委托(delegate)并创建按键点击事件:
    // 声明按键点击事件类型
    public delegate void ButtonClickHandler(string SendMsg);
    public partial class UserControl1 : UserControl
    {
        // 声明按键点击事件
        public event ButtonClickHandler OnButtonClick;

在刚才的按钮点击函数中增加点燃事件的代码:
        private void button1_Click(object sender, EventArgs e)
        {
            ……
            if (OnButtonClick != null)
                OnButtonClick(textBox1.Text);
        }
增加公共方法SetText:
        public void SetText(string text)
        {
            textBox1.Text = text;
        }
此时点击运行,可以利用VS.NET 2005自带的控件容器运行我们的控件。通过属性编辑器可以验证ButtonCaption属性。点击Button可以发现在系统盘创建文件,并添加了文本内容。您也可以新创建一个Windows Application项目,将这个控件加入后,测试其属性、事件和方法,这里就不介绍了。

上一篇我介绍了如何创建普通的.NET控件。为了能让.NET控件嵌入到IE中,这次我们来
为控件添加COM特性。

打开项目属性,在Application页面中点击“Assembly Information…”按钮,打开
Make assembly COM-Visible选项。

进入项目属性的Build页面,打开Register for COM interop选项。

保存配置后进行Build,此时的.NET控件已经具备普通OLE对象的特性。打开VS.NET自带
的OLE/COM对象查看器(默认目录为C:\Program Files\Microsoft Visual Studio
8\Common7\Tools\Bin\OleView.Exe)。我们可以在.NET Category下看到我们创建的控
件WindowsControlLibrary1.UserControl1。所有的信息已经被自动注册,包括控件的
强路径。

其实,此时的.NET控件已经可以放入IE了,只是还不能算是合格的ActiveX控件,但仍
然是合格的.NET控件。

我们编写一个htm文件来测试该控件。htm文件内容如下:

文本框: <HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
</HEAD>
<body bgcolor="#D8EEFB">
<OBJECT id="UserControl1"
classid="WindowsControlLibrary1.dll#WindowsControlLibrary1.UserControl1"
VIEWASTEXT> </OBJECT>
<br> <br> <br> <br>
<input type=''button'' value='' 调用方法'' onclick=''UserControl1.SetText("Hello World!");''>
<br> <br> <br> <br>
<input type=''button'' value='' 设置属性'' onclick=''UserControl1.ButtonCaption =
"Set";''>
</body>
</HTML>


将htm文件和WindowsControlLibrary1.dll部署在IIS的虚拟目录中,用浏览器浏览,就
可以看到如下效果。

虽然.NET控件可以被显示在IE中,但是.NET FrameWork能动态检查代码的安全性,因为

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号