锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / C#开源 / VS2010看不到自定义控件和VS2010工具箱上找不到自定义控制
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

VS2010看不到自定义控件和VS2010工具箱上找不到自定义控件


C#可以方便地设计开发自定义控件,扩充UI处理能力。自定义控件可以从UserControl类派生,也可以从界面控件派生比如Panel,但是有些细节问题要注意避免,今天就把一个心得告诉大家。

在项目里用Panel模拟实现一个竖排的树形控件,但是代码写好后,在主项目里打开Form窗体,在工具箱里就是找不到自定义控件,很是奇怪,别的自定义控件都能看到就这个不行。我重新编译了DLL项目不行,想找VS2010刷新项目工具箱菜单,但是菜单禁止,不能用,把我急的不行。

查来查去,突然想到类的访问权限修饰符,一检查,发现确实不是public,是internal,类似:
internal partial class MyPanel : System.Windows.Forms.Panel

哪天因为是手写代码,通过向导直接建立的类,手写时忽略修改了修饰符,导致了问题。一般用向导创建UserControl不会出现这情况,就是想用某些控件类派生时会导致此问题。

internal 修饰符使类、接口或成员仅在当前包中可见。 当前包之外的代码不能访问 internal 成员。 类和接口可以使用 internal 修饰符来标记。 在全局范围内, internal 修饰符与 public 修饰符相同。 类或接口的任何成员都可以使用 internal 修饰符来标记。 不能将 internal 修饰符与其他任何可见性修饰符( public、 private 或 protected)组合。 可见性修饰符相对于它们的定义范围。例如,不能公开访问 internal 类的 public 方法,但任何具有该类访问权的代码都可以访问该方法。

主项目是一个包,DLL项目是一个包,用internal就会导致主项目看不到DLL项目里的这个MyPanel类,看不到,自然让工具箱没反应。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内