用C#做一个ActiveX控件并嵌入网页中

本文介绍如何使用C#创建ActiveX控件,并详细解释了创建步骤,包括配置Visual Studio项目、编写代码、编译及注册组件,还提供了一个简单的测试示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建ActiveX控件:(Visual Studio 2005)

1、 新建项目“Windows控件库”,从项目中删除UserControl1.cs,新建“用户控件”项并指定名称。

2、 打开项目属性,在“生成”标签页中选中“为COM Interop注册”。

3、 打开Properties中的AssenblyInfo.cs,修改[assembly: ComVisible(false)],将false改为true,否则编译会出现“不包含可为COM Interop注册(注销)的任何类型”警告。

4、 编译。

创建网页:

1、 新建ASP.NET网站,选择“位置”时单击“浏览”,选择本地IIS,“创建新的Web应用程序”,打开并确定。

2、 在Default.aspx的适当位置加入

<object classid="http:TestActiveX.dll#TestActiveX.Picture" width="640px" height="480px"></object>

其中classid的格式为“http:组件名#命名空间.类”。

3、 生成网站。

4、 将组件复制到网站相应目录中。

 

使用C#创建ActiveX控件(译文)

首先创建DLL库,代码如下:

using System;

using System.Runtime.InteropServices;

namespace ANamespace

{

// 定义COM组件的接口

public interface ASignatures

{

    string FName();

    string SName();

    int Age { get;}

}

// 表明此类会被公开为一个COM组件的接口

[ClassInterface(ClassInterfaceType.AutoDual)]

public class AClass :ASignatures

{

// 具体实现接口的方法

    public string FName()

    {

      return "Imran";

    }

    public string SName()

    {

      return "Nathani";

    }

    public int Age

    {

      get { return 24; }

    }

}

}

将上面的代码保存为AClass.cs,然后编译: csc /t:library AClass.cs

将得到一个AClass.dll,然后注册:regasm AClass.dll /tlb /codebase

最后创建一个HTML测试网页,内容如下:

<html>

<head>

<script language="javascript">

    <!-- Load the ActiveX object -->

    var x = new ActiveXObject("ANamespace.AClass");

    <!-- Access the Method -->

    alert(x.FName());

    alert(x.SName());

    <!-- Access the Property -->

    alert(x.Age);

</script>

</head>

<body>

</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值