VS.Net C# 调用 Active 组件

从调节阀到步进电机:图解位置型PID与增量式PID的核心区别 本文深入解析了位置型PID与增量式PID的核心区别。通过调节阀和步进电机的实例,阐明位置式PID输出绝对位置,适用于直接控制执行机构;而增量式PID输出位置变化量,天然支持无扰动切换,更适合步进电机等场景。文章重点剖析了增量式PID在系统安全与平滑切换方面的关键优势。 阅读详情
在编码中不可否认调用Active会给编程带来很大便利,虽然微软不太只持.net调用Active 组件。
   本实例是一个简单Web 页面调用Active组件的例子,实现把数据传入并显示在active组件里的控件中。
    实例代码如下:
  1、建立Active组件(这里用.net c#创建)
   (本程序中:建立类库添加组件类后托放:label 、 button 、groupBox各一个)
     需要注意的是在生成.dll之前一定要在类库的AssemblyInfo.cs中加入引用using System.Security;和属性[assembly : AllowPartiallyTrustedCallers()],这是为了给控件赋予足够的权限使它能在页面上显示。
  
  using System;
  using System.ComponentModel;
  using System.Collections;
  using System.Diagnostics;
  using System.Windows.Forms ;
  
  namespace ActiveXDotNet
  {
   /**//// <summary>
   /// AbeenControl 的摘要说明。
   /// </summary>
   public class AbeenControl : System.Windows.Forms.UserControl
   {
   private System.Windows.Forms.Label label1;
   private System.Windows.Forms.Button button1;
   private System.Windows.Forms.GroupBox groupBox1;
   /**//// <summary>
   /// 必需的设计器变量。
   /// </summary>
   private System.ComponentModel.Container components = null;
  
   public string LabelText
   {
   get
   {
   return this.label1.Text.ToString();
   }
   set
   {
   this.label1.Text=value;
   }
   }
  
   public AbeenControl(System.ComponentModel.IContainer container)
   {
   /**////
   /// Windows.Forms 类撰写设计器支持所必需的
   ///
   this.label1.Text="test";
   container.Add(this);
   InitializeComponent();
  
   //
   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
   //
   }
  
   public AbeenControl()
   {
   /**////
   /// Windows.Forms 类撰写设计器支持所必需的
   ///
   InitializeComponent();
  
  
   //
   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
   //
   }
  
   /**//// <summary>
   /// 清理所有正在使用的资源。
   /// </summary>
   protected override void Dispose( bool disposing )
   {
   if( disposing )
   {
   if(components != null)
   {
   components.Dispose();
   }
   }
   base.Dispose( disposing );
   }
  
  
   组件设计器生成的代码#region 组件设计器生成的代码
   /**//// <summary>
   /// 设计器支持所需的方法 - 不要使用代码编辑器修改
   /// 此方法的内容。
   /// </summary>
   private void InitializeComponent()
   {
   this.label1 = new System.Windows.Forms.Label();
   this.button1 = new System.Windows.Forms.Button();
   this.groupBox1 = new System.Windows.Forms.GroupBox();
   this.groupBox1.SuspendLayout();
   this.SuspendLayout();
   //
   // label1
   //
   this.label1.Location = new System.Drawing.Point(16, 24);
   this.label1.Name = "label1";
   this.label1.Size = new System.Drawing.Size(296, 23);
   this.label1.TabIndex = 0;
   this.label1.Text = "label1";
   //
   // button1
   //
   this.button1.Location = new System.Drawing.Point(120, 56);
   this.button1.Name = "button1";
   this.button1.TabIndex = 1;
   this.button1.Text = "button1";
   this.button1.Click += new System.EventHandler(this.button1_Click);
   //
   // groupBox1
   //
   this.groupBox1.Controls.Add(this.label1);
   this.groupBox1.Controls.Add(this.button1);
   this.groupBox1.Location = new System.Drawing.Point(0, 0);
   this.groupBox1.Name = "groupBox1";
   this.groupBox1.Size = new System.Drawing.Size(320, 88);
   this.groupBox1.TabIndex = 2;
   this.groupBox1.TabStop = false;
   this.groupBox1.Text = "groupBox1";
   //
   // AbeenControl
   //
   this.Controls.Add(this.groupBox1);
   this.Name = "AbeenControl";
   this.Size = new System.Drawing.Size(328, 96);
   this.Load += new System.EventHandler(this.AbeenControl_Load);
   this.groupBox1.ResumeLayout(false);
   this.ResumeLayout(false);
  
   }
   #endregion
  
   private void button1_Click(object sender, System.EventArgs e)
   {
   this.label1.Text="点击完成!";
   }
  
   private void AbeenControl_Load(object sender, System.EventArgs e)
   {
  
   }
   }
  }
  2、web 页面调用Active组件
    注意web页面调用时需要把Active的.dll放到web的虚拟要目录下。
  <HTML>
   <HEAD>
   <title>TestActive</title>
   <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
   <meta name="CODE_LANGUAGE" Content="C#">
   <meta name="vs_defaultClientScript" content="javascript">
   <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
   </HEAD>
   <body >
   <font face="arial" size="1">
   <OBJECT id="MyControl1" name="MyControl1" classid="http://localhost/WebApplication1/ActiveXDotNet.dll#ActiveXDotNet.AbeenControl"
   width="288" height="72" VIEWASTEXT>
   </OBJECT>
   </font>
   <form id="frm" name="frm">
   <input type="text" name="txt" value="请输入数据:" ID="Text1">
   <input type="button" value="确定" onclick="doScript();" ID="Button1" NAME="Button1">
   <script type="text/javascript">
   function doScript()
   {
   MyControl1.LabelText=frm.txt.value;
   }
  
   </script>
   </form>
   </body>
  </HTML> 
 
win10下Miracast无线投屏使用教程及异常解决方案(超详细) 文章目录一、什么是Miracast?二、主流的无线投屏技术有哪些特点?三、如何查看自己的win10电脑是否支持Miracast无线投屏功能?四、win10电脑如何使用Miracast无线投屏功能? 一、什么是Miracast? Miracast是由Wi-Fi联盟于2012年所制定,以Wi-Fi直连(Wi-Fi Direct)为基础的无线显示标准。支持此标准的3C设备(如智能手机、电视、投影、电脑等... 阅读详情

相关推荐

C语言练习题:据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?

题目内容: 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……) 输入格式: 输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。 输出格式: 在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。 输入样例: 169 输出样例: 124.2 代码如下: #include<stdio.h> int main() { i

weixin_44877226的博客 2万+

C#调用ActiveX控件

<br />背景:最近项目中需要用到ActiveX控件,项目是在.Net平台下开发的。因此就直接在项目中添加了对ActiveX控件的引用,添加引用成功。在代码中实例化类的实例也没有问题,但在调用其方法或属性时总是抛出"未处理 COMException"异常。<br /> <br />方法一:<br />1、在系统中注册该ocx控件,命令:regsvr32.exe 控件位置(加 /u 参数是取消注册);<br />2、在.net的工具箱中添加该控件,拖到form中去就可以了。<br />方法二:<br />1

chengx919的专栏 1万+

S32DS新建工程、编译调试下载、导入工程详细介绍

新建了一个工程之后,下面简单介绍下基本的UI界面。其中最左下角那个是界面,这个界面很重要,是图形化配置界面,然后可以根据这些配置自动生成代码。其中,左边那些配置文件,都是系统帮我们创建好了的,我们其实可以直接用就行。有PE工具的调试,以及Jlink工具的调试。我目前使用到PE工具调试可以查看寄存器值,而Jlink调试查看不了寄存器值。连接了开发板之后,点击Debug就可以吧程序下载到芯片上了,而且可以进入到调试界面。

luobeihai的博客 2万+

.NET使用ActiveX控件

1.使用 regsvr32注册ocx控件 2.使用VS命令行工具,aximp aaa.ocx路径 会生成两个dll文件(AxaaaLib.xll,aaaLib.dll) 3.将上述两个dll添加到.net引用即可在代码中添加命名空间使用 注意:在使用aximp时,可能出现在命令行提示的目录中找不到生成的dll文件,此时可以添加out命令指定输出目录 转载于:https://ww...

weixin_30569001的博客 187

CTF-Web学习笔记:服务端请求伪造(SSRF)篇

本文系统介绍了CTF比赛中SSRF漏洞的攻防技术。首先解析了SSRF的核心原理,即利用服务器对用户输入URL的未校验缺陷,诱导其访问内网资源。然后详细分析了5类常见CTF题型:文件读取、内网探测、云服务元数据窃取、协议绕过及组合漏洞利用。重点讲解了绕过URL过滤、利用特殊协议(如dict://、gopher://)等实战技巧,并通过一道SSRF+Redis的高阶题目演示完整攻击链。最后给出防御建议:严格校验输入URL、禁用危险协议、实施内网隔离等。

Deng7326的博客 1708

别再傻傻分不清!一文讲透电子产品‘冲击’与‘碰撞’试验的区别与选用(附GB/T 2423标准解读)

本文详细解析了电子产品可靠性测试中冲击与碰撞试验的核心区别与应用场景,结合GB/T 2423标准提供实用指南。冲击测试模拟瞬时高强度事件(如跌落),而碰撞测试针对重复性力学环境(如运输颠簸)。通过参数对比和标准解读,帮助研发人员精准选择测试方案,提升产品可靠性验证效率。

weixin_42665255的博客 267

在.Net窗体中使用ActiveX控件

<br />看到有很多关于使用tlbimp aximp工具的文章,但都显得高深莫测,难以动手。经过试验后发现了最简单的办法:<br />1)在 工具-选择工具箱项 中对需要使用的ActiveX控件勾选;<br />2)在工具箱 面板的 "所有Windows窗体"项中会看到刚才选中的控件;<br />3) 此时可以直接将控件拖放到你的窗体上,以mediaPlayer为例:<br />private void button8_Click(object sender, EventArgs e)<br />   

tumin999的专栏 724

Web端百度离线地图3.0实战:从零搭建到私有化部署

本文详细介绍了Web端百度离线地图3.0的完整实战流程,从核心SDK本地化、功能模块下载到地图瓦片部署。通过逐步修改代码与配置,实现在无外网环境下的私有化部署,解决了内网或网络不稳定场景下的地图应用需求,并提供了关键的避坑指南。

n7o8p的博客 714

Vue 组件强制刷新方式

Vue 组件强制刷新方式

Jay的个人博客 7522

OpenBCI脑电实验避坑指南:如何用Python准确捕捉P300信号

本文详细介绍了使用OpenBCI和Python进行P300脑电信号实验的避坑指南,包括电极贴放、信号采集、信号处理和数据分析等关键步骤。通过实战经验和代码示例,帮助研究者避开常见陷阱,提高P300信号捕捉的准确率,适用于脑机接口和神经科学研究。

weixin_30316097的博客 553

电磁场仿真软件:Sonnet_(12).Sonnet与其他软件的集成

Sonnet作为电磁场仿真领域的强大工具,不仅能够独立完成复杂的仿真任务,还可以通过与其他软件的集成,实现更高效的工作流程和更广泛的功能扩展。通过与CAD、EDA、数据处理软件、MATLAB、Python以及云计算平台的集成,Sonnet用户可以更好地利用现有设计资源,进行参数优化和结果分析,从而提升设计和仿真效率。希望本节的内容能够帮助你更好地理解和应用Sonnet的集成功能。

kkchenjj的博客 1432

VS.Net C# 调用 Active 组件

  在编码中不可否认调用Active会给编程带来很大便利,虽然微软不太只持.net调用Active 组件。 本实例是一个简单Web页面调用Active组件的例子,实现把数据传入并显示在active组件里的控件中。  实例代码如下:1、建立Active组件(这里用.net c#创建)(本程序中:建立类库添加组件类后托放:label、 button 、gro...

diangang3082的博客 193

[PCIE5.0] 2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message

这段文字讲解的是 优化的缓冲区清空/填充(OBFF)消息,它是 PCI Express(PCIe)规范中的一个可选功能,用于向设备报告平台中央资源的状态。简单来说,OBFF 主要帮助设备了解当前平台资源(如缓存或内存)的状态,从而优化数据的处理和传输。这章重点内容如下。

系统固件工程师 539
上一篇: DataTable,DataView和DataGrid中一些容易混淆的概念
下一篇: 成功的程序员
JavaProgramers
博客等级 码龄22年 660粉丝 304原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值