top

对做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就会报错。

posted @   桦仔  阅读(3661)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示