我自己写了个activex控件,控件有一个text属性,奇怪的是我把控件拖放到页面上后没有id属性,只有classid属性,于是我自己添加了一个id="Beep"。
然后我想实现这样的功能,当页面中一个文本框内容改变的时候activex控件的text属性跟随改变,于是在TextChanged事件中加入如下代码。
private void TextBox1_TextChanged(object sender, System.EventArgs e)
{
Beep.Text=TextBox1.Text;
}
由于Beep未知,所以开头加入如下代码(Porject1是vb做的activex控件)
using Project1;
protected Project1.UserControl1Class Beep;
接着运行时出现了:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
我的问题是怎么把页面上的activex控件和这个Beep变量关联起来啊。
我曾想用客户端脚本来做,但是哪个object的id是我自己写的,好像也不受我控制,救救我啊!
然后我想实现这样的功能,当页面中一个文本框内容改变的时候activex控件的text属性跟随改变,于是在TextChanged事件中加入如下代码。
private void TextBox1_TextChanged(object sender, System.EventArgs e)
{
Beep.Text=TextBox1.Text;
}
由于Beep未知,所以开头加入如下代码(Porject1是vb做的activex控件)
using Project1;
protected Project1.UserControl1Class Beep;
接着运行时出现了:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
我的问题是怎么把页面上的activex控件和这个Beep变量关联起来啊。
我曾想用客户端脚本来做,但是哪个object的id是我自己写的,好像也不受我控制,救救我啊!
<OBJECT id="Beep" style="WIDTH: 320px; HEIGHT: 240px" classid="clsid:C2A02E1F-0225-4E8E-B890-C45B00695866"
VIEWASTEXT>
<PARAM NAME="_ExtentX" VALUE="8467">
<PARAM NAME="_ExtentY" VALUE="6350">
<PARAM NAME="Text" VALUE="1000,500">
</OBJECT>
谢谢cpp2017(慕白兄),自己加的id可以用 ,现在还有个问题:我的控件的Text属性在设计的时候是管用的,将值修改后可以显示在设计页面上,但是运行后却显示为空(设计时对value的改变没有作用),好奇怪啊,我的activex初始化的时候没有做这个工作啊
Activex 运行在客户端,只有在客户端通过脚本访问2。
但是不能调用Text属性,这个属性是用vb接口向导生成的,还有那个_ExtentX,_ExtentY也不能访问,为什么?
=========
先通过 ActiveX Test Container 测试你的Ax控件是否正常
<PARAM NAME="_ExtentY" VALUE="6350">
<PARAM NAME="Text" VALUE="1000,500">
上面这些属性的VALUE在设计的时候可用,我改变它们马上可以在设计窗里体现出来,但是运行时却都访问不了,为什么?