对做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就会报错。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)