如何制作可以添加到工具箱的自定义控件DLL?

Posted

技术标签:

【中文标题】如何制作可以添加到工具箱的自定义控件DLL?【英文标题】:How to make custom control DLL which can be added onto toolbox? 【发布时间】:2012-12-27 04:48:48 【问题描述】:

我不知道该怎么称呼它。我制作了一个 C# 程序,其中包含 Visual Studio 工具箱的 GUI 控件/组件。添加 *.CS 源后,它会自动将控件添加到工具箱中:

然而,一旦我把它变成了一个 DLL,我就尝试:

添加对 DLL 的引用 将其添加为现有项目 右键单击工具箱 -> 选择项目

这些选项都不会自动显示我的自定义组件。 我不想使用用户控件表单,那么如何制作 *.DLL 而不是 *.CS 文件来显示工具箱中的组件?

编辑:您需要将其公开 :) 感谢“newb”。

【问题讨论】:

右键单击工具箱并选择选择项目。然后你可以浏览到 dll。 忘了说斯派克已经试过了。 Spike 在不包含任何组件时收到错误消息。 这些控件是公开的吗?他们有正确的构造函数吗?他们可能需要一个公共的无参数构造函数。 这是 Spike 不确定的部分,Spike 已尝试将其公开,但它在可访问性方面变得不一致。 Spike 如何创建这个构造函数以使控件公开? 如果在公开类时遇到不一致的可访问性错误,则该类可能包含对其他非公开类的引用,即:返回类型为内部或私有类的属性. 【参考方案1】:

我的课程的某些部分不公开,工具箱无法使用。谢谢'新手'!我忘了更改可访问性。

【讨论】:

以上是关于如何制作可以添加到工具箱的自定义控件DLL?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MFC 工具栏中添加自定义控件

MFC:如何将自定义控件包含到 Visual Studio 的工具箱中

ASP.Net Ajax:如何从其DLL中向asp.net 2.0工具箱添加自定义控件

如何启用预定项目的下拉列表以添加到 SceneBuilder 中的自定义控件?

多个控件到单个控件c#winforms上

VB6制作的自定义ocx控件