【发布时间】:2011-03-03 10:56:58
【问题描述】:
我正在解析一些第三方软件“脚本”,它会根据其内容生成 GUI 表单,我想在 C# 程序中读取该脚本并产生类似的输出,这是一个示例脚本:
BEGIN SECTION Intro
BACKPICTURE=xxxx.gif
PICTUREPOSN=Center
BEGIN CONTROL CLI
IS RADIO=NO
CLSID={49EBC3A3-727D-11CF-9BB9-080000001311}
POSITION=(24,16,250,45)
QUESTION=@0:232
BEGIN PROPERTY Title
DISPID=2
SETTING=CLI :
TYPE=BSTR
END PROPERTY
BEGIN PROPERTY Arrangement
DISPID=3
SETTING=1
TYPE=I4
END PROPERTY
BEGIN PROPERTY EditBoxLength
DISPID=4
SETTING=3
TYPE=I4
END PROPERTY
我感兴趣的属性是 BEGIN CONTROL 和 BEGIN PROPERTY,因为它们表示 ActiveX 控件及其属性的开始。
我的问题:如何通过它的 CLSID 加载这个 ActiveX 控件并设置它的属性? Type.GetTypeFromCLSID 似乎是我想要的,当我使用 Activator.CreateInstance(Type) 时它不会抛出任何异常,所以它必须创建一个有效的实例,但是如何将一组属性“绘制”到 Windows 窗体?
谢谢。
【问题讨论】: