C# 制作ActiveX控件并添加到网页

时间:2021-09-25 00:03:17

1.创建ActiveX控件——按钮

2.定义一个接口,并在控件中实现

3.部署安装

4.CAB打包

5.添加到网页中进行测试


一. 创建ActiveX控件——按钮

1.新建一个Window窗体控件库项目,命名为ActiveXDemo.

C# 制作ActiveX控件并添加到网页

2.在自动生成的UserControl1页面上添加一个button

C# 制作ActiveX控件并添加到网页

3.点击事件里我们只弹出一个MesageBox

[csharp]

private void button1_Click(object sender, EventArgs e)  

{  

    MessageBox.Show("Active is working now!");  

}  

4.在右边解决方案资源管理器的ActiveXDemo项目上右键→属性→应用程序→程序集信息→使程序集COM可见(M)。再切换到“生成”标签→勾选“为COM互操作注册”。

C# 制作ActiveX控件并添加到网页

C# 制作ActiveX控件并添加到网页

C# 制作ActiveX控件并添加到网页

5.打开Properties里面的AssemblyInof.cs文件,添加如下代码:

C# 制作ActiveX控件并添加到网页

6.为控件创建GUID:工具→创建GUID,选5,点击复制

C# 制作ActiveX控件并添加到网页

7.打开UserControl1.cs,在public partial class UserControl1 : UserControl上面粘贴上一步生成的GUID,并添加using System.Runtime.InteropServices;

代码如下:

[csharp]

using System;    

using System.Collections.Generic;    

using System.ComponentModel;    

using System.Drawing;    

using System.Data;    

using System.Linq;    

using System.Text;    

using System.Threading.Tasks;    

using System.Windows.Forms;    

using System.Runtime.InteropServices;    

    

namespace ActiveXDemo    

{    

    [Guid("73D3BE6A-E3B3-46F7-AFFE-8673390DA3F6")]    

    public partial class UserControl1: UserControl    

    {    

        public UserControl1()    

        {    

            InitializeComponent();    

        }    

    

        private void button1_Click(object sender, EventArgs e)    

        {    

            MessageBox.Show("ActiveX is working now!");    

        }    

    }    

}   


二、定义一个接口,,并在控件中实现

创建一个IObjectSafety接口,让ActiveX 控件获取客户端的信任。

1.右键ActiveXDemo项目—>添加—>新建项→Visual C#项→接口

注意接口内容是固定的不要修改!!!也就是说你直接复制粘贴就可以用了,不要管里面的序列号,跟上面生成的GUID不是一回事。

[csharp]

using System;  

using System.Runtime.InteropServices;  

namespace ActiveXDemo  

{     

    [ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")]  

    [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]  

    public interface IObjectSafety  

    {  

        [PreserveSig]