对做C#自定义控件的一点心得

近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装这个COM组件,中间遇到很多曲折,研究了一个星期,终于完成了

下面总结一下我做DSOFramer这个自定义控件的注意地方:

1、在创建一个Windows窗体控件库的时候,那个项目路径里不能有中文,比如:D:\C#练习\WindowsFormsDsoframer ,这样在你弄好之后运行控件的时候会报错,说什么不能引用程序集,用户控件测试容器不能启动,实际上不是没有添加程序集,是因为路径中有中文,VS2008不能识别。

2、最好注册一下那个COM组件,然后放到工具箱里,直接拖到窗体设计器里,不要手工写代码比如:this.m_Panel_Control.Controls.Add(m_axFramerControl),如果手工写的话,还要自己手工添加引用程序集,如果直接拖到窗体设计器里的话,VS2008会自动添加程序集,手工添加程序集是不行的,因为AxDSOFramer.dll  跟DSOFramer.dll 文件是你把DSOFramer控件拖到窗体设计器里VS自动生成的。

比如,你做了两个自定义控件,第一次你是用直接把DSOFramer控件拖到窗体设计器中,然后你第二次做自定义控件,但是你这次是手工写代码,在引用里手工添加你第一次做控件时VS自动生成的AxDSOFramer.dll  跟DSOFramer.dll 文件,那么你运行控件的时候VS就会报错。

原文地址:https://www.cnblogs.com/lyhabc/p/2068835.html