COM组件如果不是拖拽方式创建,写代码怎么实现?
COM组件如果不是拖拽方式创建,写代码如何实现??
通过拖拽控件 生成的实例 创建代码如下
this.axvg1.Dock = System.Windows.Forms.DockStyle.Fill;
this.axvg1.Enabled = true;
this.axvg1.Location = new System.Drawing.Point(0, 0);
this.axvg1.Name = "axvg1";
this.axvg1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axvg1.OcxState")));
this.axvg1.Size = new System.Drawing.Size(484, 369);
this.axvg1.TabIndex = 0;
//
如果是不用拖拽方式,手动创建的代码的话, this.axvg1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axvg1.OcxState"))); 的含义如何替换 才能实现??
------解决思路----------------------
axvg1是个什么玩意
首先你就必须初始化它,因为我不知道你到底用的什么com组件,所以先用ThisCom代替它的类名
ThisCom axvg1=new ThisCom();
其实你拖拽完,看看设计器代码里多出了什么东西,复制出来用就好了
------解决思路----------------------
人家知道 axvg 是个控件,人家问你 axvg1 是个什么类型的玩意。
如果你说不出来,把 axvg 这个变量的定义语句贴出来。
------解决思路----------------------
var type = Type.GetTypeFromProgID(ProgId); // ProgId 就是axvg1.OcxState
var comObject = Activator.CreateInstance(type);
通过拖拽控件 生成的实例 创建代码如下
this.axvg1.Dock = System.Windows.Forms.DockStyle.Fill;
this.axvg1.Enabled = true;
this.axvg1.Location = new System.Drawing.Point(0, 0);
this.axvg1.Name = "axvg1";
this.axvg1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axvg1.OcxState")));
this.axvg1.Size = new System.Drawing.Size(484, 369);
this.axvg1.TabIndex = 0;
//
如果是不用拖拽方式,手动创建的代码的话, this.axvg1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axvg1.OcxState"))); 的含义如何替换 才能实现??
------解决思路----------------------
axvg1是个什么玩意
首先你就必须初始化它,因为我不知道你到底用的什么com组件,所以先用ThisCom代替它的类名
ThisCom axvg1=new ThisCom();
其实你拖拽完,看看设计器代码里多出了什么东西,复制出来用就好了
------解决思路----------------------
人家知道 axvg 是个控件,人家问你 axvg1 是个什么类型的玩意。
如果你说不出来,把 axvg 这个变量的定义语句贴出来。
------解决思路----------------------
var type = Type.GetTypeFromProgID(ProgId); // ProgId 就是axvg1.OcxState
var comObject = Activator.CreateInstance(type);