使用VS2010 C#开发ActiveX控件(下),完整代码打包下载

下面是关于使用VS2010 C#开发ActiveX控件的完整攻略:

一、安装Visual Studio 2010

在开始使用VS2010 C#开发ActiveX控件之前,需要先安装Visual Studio 2010。如果您已经安装过Visual Studio 2010,则可以跳过这一步。

二、创建ActiveX控件项目

在Visual Studio 2010中创建ActiveX控件项目的步骤如下:

  1. 选择“File”->“New”->“Project”;
  2. 在弹出的“New Project”对话框中,选择“Visual C#”->“Windows”->“Class Library”;
  3. 在“Class Library”对话框中,选择“COM”选项卡,然后勾选“Register for COM Interop”复选框;
  4. 点击“OK”按钮,即可创建一个ActiveX控件项目;

三、编写ActiveX控件代码

在创建好ActiveX控件项目后,需要编写控件的代码。具体步骤如下:

  1. 打开“Solution Explorer”,右键单击“项目名称”,选择“Add”->“Class”;
  2. 输入要创建的类名称,然后选择“AxControl”,同时勾选“Create 'AxHost' derived class”选项,点击“Add”按钮;
  3. 在弹出的“AxHost”对话框中,输入要托管的控件名称,然后点击“Finish”按钮;
  4. 此时将会生成一个派生自“AxHost”类的类,可以在此类中实现控件的相关代码;

示例代码如下:

using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace MyActiveXControl
{
    [ToolboxBitmap(typeof(ActiveXControl1))]
    [Description("MyActiveXControl")]
    public partial class ActiveXControl1 : AxHost
    {
        public ActiveXControl1() : base("MyActiveXControlLib.MyActiveXControl") { }

        [Browsable(true)]
        [Description("控件属性")]
        public String MyProperty
        {
            get { return (String)GetPropertyValue("MyProperty"); }
            set { SetPropertyValue("MyProperty", value); }
        }

        [Browsable(true)]
        [Description("控件方法")]
        public void MyMethod()
        {
            InvokeMethod("MyMethod");
        }
    }
}

四、编译ActiveX控件项目

在完成ActiveX控件代码的编写之后,需要编译项目。可以通过“Build”->“Build Solution”或“Build”->“Rebuild Solution”来编译项目。编译成功后,将在“bin/Debug”或“bin/Release”目录下生成一个.dll文件。

五、注册ActiveX控件

在编译生成控件.dll文件之后,需要将其注册到系统中,才能在其他程序中使用。

注册步骤如下:

  1. 打开命令提示符(以管理员身份运行);
  2. 切换到控件所在的目录;
  3. 输入命令“regasm 'MyActiveXControl.dll'”(注意替换MyActiveXControl.dll为实际的控件.dll文件名);
  4. 注册成功后,会提示注册信息;

六、示例说明

以下是两个示例,分别说明ActiveX控件如何在C#程序中使用:

示例1:在Windows Forms应用程序中使用ActiveX控件

  1. 创建一个Windows Forms应用程序;
  2. 在“Toolbox”中右键单击,选择“Choose Items”;
  3. 选择“COM Components”选项卡,并勾选要添加的ActiveX控件;
  4. 点击“OK”按钮,ActiveX控件将会出现在“Toolbox”中;
  5. 将ActiveX控件从“Toolbox”中拖动到Windows Form中;
  6. 可以通过代码调用控件的属性和方法。

示例代码如下:

private void button1_Click(object sender, EventArgs e)  
{  
    ActiveXControl1 m_ActiveXControl1 = new ActiveXControl1();  
    m_ActiveXControl1.MyProperty = "Hello, ActiveX Control!";  
    m_ActiveXControl1.MyMethod();  
}

示例2:在Web应用程序中使用ActiveX控件

  1. 创建一个Web应用程序;
  2. 在“Solution Explorer”中右键单击“References”,选择“Add Reference”;
  3. 在“Add Reference”对话框中,选择“COM”选项卡;
  4. 找到需要添加的ActiveX控件名称并勾选;
  5. 点击“OK”按钮;
  6. 在Web页面中使用控件,并且可以通过代码调用控件的属性和方法。

示例代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    ActiveXControl1 m_ActiveXControl1 = new ActiveXControl1();
    m_ActiveXControl1.MyProperty = "Hello, ActiveX Control!";
    m_ActiveXControl1.MyMethod();
}

至此,关于使用VS2010 C#开发ActiveX控件的完整攻略就讲解完了,希望能帮到您。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用VS2010 C#开发ActiveX控件(下),完整代码打包下载 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • c# 线程安全队列的用法原理及使用示例

    C# 线程安全队列的用法原理及使用示例 什么是线程安全队列? 在线程并发编程中,多个线程同时访问共享数据结构时,会存在竞态条件(race condition)问题,可能导致数据不一致、数据丢失或程序崩溃等问题。为了解决这些问题,需要使用线程安全的数据结构进行并发操作,其中线程安全队列就是一种常见的数据结构。 线程安全队列是一种特殊的队列,能够在多线程并发的情…

    C# 2023年6月7日
    00
  • c# datetime 格式化大全

    当涉及到 c# 的 datetime 格式化时,需要了解一些预定义的格式字符串、定界符和格式说明符。 预定义格式字符串 d 使用短日期格式显示日期:“yyyy/MM/dd” D 使用长日期格式显示日期:“yyyy’年’M’月’d’日’” f 使用长日期格式和短时间格式显示日期时间:“yyyy’年’M’月’d’日’ H:mm” F 使用长日期格式和长时间格式显…

    C# 2023年6月1日
    00
  • C#(int)中Convert、Parse、TryParse的区别

    区别:Convert、Parse、TryParse都是将字符串转换为数字类型的方法,但它们的使用场景和实现方式略有不同: Convert Convert是.NET Framework中的一个通用类型转换方法,可以将一个值从一种数据类型转换为另一种数据类型。其中,Convert.ToInt32(string)可以将字符串转换为32位带符号整数类型(int)。 …

    C# 2023年5月15日
    00
  • 浅析C# 中的类型系统(值类型和引用类型)

    浅析C#中的类型系统(值类型和引用类型) 在C#中,数据类型可以分为值类型和引用类型。这两种类型分别有不同的存储方式和操作方式。 值类型 值类型表示实际的数据值,通常直接放在变量的内存位置中。用于表示基本数据类型,如int、float、double等。还可以通过结构体定义,以及枚举类型。值类型的赋值是按值传递的。 示例1 以下示例展示了一些基本值类型的使用:…

    C# 2023年6月7日
    00
  • ASP.NET Core – 缓存之分布式缓存

    分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护。 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时。 与其他将缓存数据存储在单个应用服务器上的缓存方案相比,分布式缓存具有多个优势。 当分发缓存数据时,数据: 在多个服务器的请求之间保持一致(一致性)。 在进行服务器重…

    C# 2023年4月24日
    00
  • linq中的元素操作符

    LINQ中的元素操作符 LINQ(Language Integration Query)提供了许多强大的操作符,以便于我们对集合数据做各种各样的操作。在LINQ中,元素操作符(Element Operators)允许我们根据单个元素来访问或检查一个集合。 First First操作符返回序列中第一个元素,它也可以根据一个指定的条件筛选元素。如果序列为空,该操…

    C# 2023年6月1日
    00
  • C#根据日期计算星期几的实例代码

    下面我来详细讲解一下“C#根据日期计算星期几的实例代码”的完整攻略。 1. 实现思路 要计算某个日期是星期几,可以使用.NET Framework中的DateTime类中的DayOfWeek属性,该属性返回一个枚举类型的星期几。然而使用DayOfWeek属性是有一些限制的,它只允许你输入一个DateTime类型的日期对象。如果你想要输入一个简单的日期字符串,…

    C# 2023年6月1日
    00
  • C# Winform 分页功能的实现

    下面是关于C# Winform分页功能实现的完整攻略: 1. 什么是分页功能 分页,在信息管理系统中常见的一种数据查找方式,数据量比较大的时候,把所有数据都一次性请求会导致页面响应时间过长,从而影响用户体验。因此,常规情况下需要对请求的数据进行分页处理,通过分页显示相应的数据,让用户能够更快更方便的查看信息。 2. 分页功能的实现 2.1 数据库存储分页信息…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部