C# 使用不同属性多次将同一控件添加到工具箱

C# 使用不同属性多次将同一控件添加到工具箱,c#,.net,winforms,C#,.net,Winforms,我有一个从Label继承的自定义控件,并实现了各种附加属性。在运行时,我使用n个ToolboxItems填充自定义工具箱,其中类型为我的自定义控件;每个项目的DisplayName属性根据运行时条件而不同。当我将任何项目拖放到设计图面时,它们都具有相同的默认属性,这就是我试图解决的问题。根据前面提到的运行时条件,我需要设置我已经实现的附加属性,并且每个项都有不同的属性值 可视化的一个简单方法是考虑Crystal Reports或Visual Studio中的报表设计器:报表的数据源包含n个字段,

我有一个从Label继承的自定义控件,并实现了各种附加属性。在运行时,我使用n个ToolboxItems填充自定义工具箱,其中类型为我的自定义控件;每个项目的DisplayName属性根据运行时条件而不同。当我将任何项目拖放到设计图面时,它们都具有相同的默认属性,这就是我试图解决的问题。根据前面提到的运行时条件,我需要设置我已经实现的附加属性,并且每个项都有不同的属性值

可视化的一个简单方法是考虑Crystal Reports或Visual Studio中的报表设计器:报表的数据源包含n个字段,这些字段在放到报表上时基本上都是相同的控件,它们只是在到达设计图面时具有不同的默认属性

感谢任何人可能提供的任何帮助

根据以下评论:

ToolboxItem的初始化方式如下:

 container.Add(new ToolboxItem(typeof(myType)));

没有传入具体的初始化(显然),否则这将是一件小事

所以在你将控件添加到工具箱之前设置这些附加属性?!这里的具体问题是什么?您的对话框听起来似乎已经实现了大部分功能。是什么让你不能完全按照你所描述的去做呢?我已经添加了一个解释,但这是因为ToolboxItem不接受具体的类,它需要一个类型ala:container.Add(newToolboxItem(typeof(myType));您可以使用字典从外部将每个ToolBoxItem()与类关联起来?