C# 公共覆盖ICollection关联组件不';行不通
我想要覆盖MyControlDesigner的MyComponent的关联组件 但当我向集合中添加任何组件时 Visual Studio中的“文档大纲”窗口变为空C# 公共覆盖ICollection关联组件不';行不通,c#,winforms,document,visual-studio-2017,outline,C#,Winforms,Document,Visual Studio 2017,Outline,我想要覆盖MyControlDesigner的MyComponent的关联组件 但当我向集合中添加任何组件时 Visual Studio中的“文档大纲”窗口变为空 //Ok public override ICollection AssociatedComponents { get { ArrayList items = new ArrayList(); //items.Add(Grid.HorzScrollBar);
//Ok
public override ICollection AssociatedComponents
{
get
{
ArrayList items = new ArrayList();
//items.Add(Grid.HorzScrollBar);
return (ICollection)items;
}
}
//现在文档大纲窗口总是空的
我试图调试Visual Studio以了解文档大纲是如何工作的,但看起来Microsoft不允许您查看.Net这一部分的源代码
有人知道文档大纲窗口不显示数据的原因吗?1)您想做什么?2) Grid.HorzScrollBar
是否是控件的嵌套组件,您正在为其创建设计器?1)我要为网格组件创建树。网格是一个复杂的组件,具有许多属性,其中一些属性是带有子属性的复杂(类类型)属性。我想将一些类类型作为文档大纲的分支添加到网格中。2)Grid.HorzScrollBar是一个类类型属性。它不是嵌套组件。为什么它应该嵌套在组件中。AssociatedComponents允许返回任何对象的集合。所以开发人员可以决定应该将哪个对象视为组件的关联组件。
//Not Ok
public override ICollection AssociatedComponents
{
get
{
ArrayList items = new ArrayList();
items.Add(Grid.HorzScrollBar); //Add any component
return (ICollection)items;
}
}