为什么我的自定义控件不能正确地显示在工具箱中
编辑: 面试啦 发布时间: 2023-06-18 11:28:47
当在 Visual Studio .NET 2003 中为智能设备自定义控件添加设计器支持时,您可能会碰到以下问题:
在设计时无法将一个图标与控件相关,以便显示在工具箱中
当添加到工具箱中时,该组件变灰
原因
使用独立于控件项目的设计项目。Visual Studio .NET 自动将项目的默认命名空间作为位图的名称。“默认命名空间”默认为项目名称。这可能会产生问题,因为设计项目的名称与运行时项目的名称略有差别。
没有设置正确的 ToolBoxItemFilterAttribute 值
解决方案
提供以下示例:Runtime VS.NET Project:MyProject类名称:MyProject.MyClass设计 VS.NET 项目名称:MyProject.DesignVS.NET 设计项目中的 BitMap 名称:Foo.bmp设计程序集中的位图名称:MyProject.Design.MyClass.bmp— 这样会产生问题,因为该位图需要以下名称:MyProject.MyClass.bmp
在以上示例中,将设计项目的默认命名空间设置为“MyProject”而非“MyProject.Design”就可以解决这个问题。
检查程序集中位图名称的最简单方法是运行 ILDASM 并打开 Manifest。该清单的尾部列出了嵌入式资源。
如果您创建了一个从 Component 类派生的自定义组件,则您的代码必须包括以下语句,这样您的组件才能出现在工具箱中:
ToolBoxItemFilterAttribute(“NETCF”,ToolBoxItemFilterType.Require)
ToolBoxItemFilterAttribute(“System.CF.Windows.Forms”, ToolBoxITemFilterType.Custom)
在设计时无法将一个图标与控件相关,以便显示在工具箱中
当添加到工具箱中时,该组件变灰
原因
使用独立于控件项目的设计项目。Visual Studio .NET 自动将项目的默认命名空间作为位图的名称。“默认命名空间”默认为项目名称。这可能会产生问题,因为设计项目的名称与运行时项目的名称略有差别。
没有设置正确的 ToolBoxItemFilterAttribute 值
解决方案
提供以下示例:Runtime VS.NET Project:MyProject类名称:MyProject.MyClass设计 VS.NET 项目名称:MyProject.DesignVS.NET 设计项目中的 BitMap 名称:Foo.bmp设计程序集中的位图名称:MyProject.Design.MyClass.bmp— 这样会产生问题,因为该位图需要以下名称:MyProject.MyClass.bmp
在以上示例中,将设计项目的默认命名空间设置为“MyProject”而非“MyProject.Design”就可以解决这个问题。
检查程序集中位图名称的最简单方法是运行 ILDASM 并打开 Manifest。该清单的尾部列出了嵌入式资源。
如果您创建了一个从 Component 类派生的自定义组件,则您的代码必须包括以下语句,这样您的组件才能出现在工具箱中:
ToolBoxItemFilterAttribute(“NETCF”,ToolBoxItemFilterType.Require)
ToolBoxItemFilterAttribute(“System.CF.Windows.Forms”, ToolBoxITemFilterType.Custom)
词条:mobile开发面试题
面试题库导航
- C++面试题
- JAVA面试题
- Oracle面试题
- MySQL面试题
- Linux面试题
- 网络工程师面试题
- 网管面试题
- 软件工程师面试题
- PHP面试题
- .net面试题
- 软件测试面试题
- EJB面试题
- Spring面试题
- Javascript面试题
- Python面试题
- QTP面试题
- Servlet面试题
- J2EE面试题
- Database面试题
- ASP面试题
- Unix面试题
- Loadrunner面试题
- 通信面试题
- 嵌入式面试题
- Ruby面试题
- Delphi面试题
- Mobile开发面试题
- SOA面试题
- JAVA面试题面试题
- 研发工程师面试题
- 软件架构师面试题
- 系统工程师面试题
- Android面试题
- JAVA程序员
- C#面试题