C# 为什么集合编辑器返回null?
我试图创建一个自定义控件,该控件包含一组项,但即使重建项目,在设计时也不会显示任何内容C# 为什么集合编辑器返回null?,c#,C#,我试图创建一个自定义控件,该控件包含一组项,但即使重建项目,在设计时也不会显示任何内容 public class ItemsTest : UserControl { Parents parent; ObjectCollections itm ; [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public ObjectCo
public class ItemsTest : UserControl
{
Parents parent;
ObjectCollections itm ;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ObjectCollections Items { get { return itm; } }
public ItemsTest ()
{
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
itm = new ObjectCollections(this);
parent = new Parents();
}
}
public class ObjectCollections : CollectionBase
{
private List<Parents> _contents;
private ItemsTest itemstest = null;
public ObjectCollections(ItemsTest owner)
{
_contents = new List<Parents>();
this.itemstest = owner;
}
public int IndexOf(Parents item)
{
return _contents.IndexOf(item);
}
public void Insert(int index, Parents item)
{
_contents.Insert(index, item);
}
public void RemoveAt(int index)
{
_contents.RemoveAt(index);
}
public Parents this[int index]
{
get
{
return _contents[index];
}
set
{
_contents[index] = value;
}
}
public void Add(Parents item)
{
_contents.Add(item);
this.itemstest.Controls.Add(item);
this.itemstest.Invalidate();
}
public void Clear()
{
_contents.Clear();
}
public bool Contains(Parents item)
{
if (_contents.Contains(item))
return true;
return false;
}
public void CopyTo(Parents[] array, int arrayIndex)
{
for (int _oj = 0; _oj < Count; _oj++)
{
array.SetValue(_contents[_oj], arrayIndex++);
}
}
public int Count
{
get { return _contents.Count; }
}
public bool IsReadOnly
{
get { return false; }
}
public bool Remove(Parents item)
{
return _contents.Remove(item);
}
IEnumerator<Parents> IEnumerable<Parents>.GetEnumerator()
{
//some code
}
IEnumerator IEnumerable.GetEnumerator()
{
//some code
}
}
(父)是自定义控件
如何在重建项目后使其显示在集合编辑器中而不丢失它
public class ItemsTest : UserControl
{
Parents parent;
ObjectCollections itm ;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ObjectCollections Items { get { return itm; } }
public ItemsTest ()
{
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
itm = new ObjectCollections(this);
parent = new Parents();
}
}
public class ObjectCollections : CollectionBase
{
private List<Parents> _contents;
private ItemsTest itemstest = null;
public ObjectCollections(ItemsTest owner)
{
_contents = new List<Parents>();
this.itemstest = owner;
}
public int IndexOf(Parents item)
{
return _contents.IndexOf(item);
}
public void Insert(int index, Parents item)
{
_contents.Insert(index, item);
}
public void RemoveAt(int index)
{
_contents.RemoveAt(index);
}
public Parents this[int index]
{
get
{
return _contents[index];
}
set
{
_contents[index] = value;
}
}
public void Add(Parents item)
{
_contents.Add(item);
this.itemstest.Controls.Add(item);
this.itemstest.Invalidate();
}
public void Clear()
{
_contents.Clear();
}
public bool Contains(Parents item)
{
if (_contents.Contains(item))
return true;
return false;
}
public void CopyTo(Parents[] array, int arrayIndex)
{
for (int _oj = 0; _oj < Count; _oj++)
{
array.SetValue(_contents[_oj], arrayIndex++);
}
}
public int Count
{
get { return _contents.Count; }
}
public bool IsReadOnly
{
get { return false; }
}
public bool Remove(Parents item)
{
return _contents.Remove(item);
}
IEnumerator<Parents> IEnumerable<Parents>.GetEnumerator()
{
//some code
}
IEnumerator IEnumerable.GetEnumerator()
{
//some code
}
}
public类ItemsTest:UserControl
{
父母;
对象集合itm;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
公共ObjectCollections项{get{return itm;}}
公共项目列表()
{
设置样式(ControlStyles.SupportsTransparentBackColor,true);
itm=新对象集合(此);
父项=新父项();
}
}
公共类ObjectCollections:CollectionBase
{
私人清单(目录);;
private ItemsTest ItemsTest=null;
公共对象集合(ItemsTest所有者)
{
_contents=新列表();
this.itemstest=所有者;
}
public int IndexOf(父项)
{
返回内容索引(项目);
}
公共无效插入(整数索引,父项)
{
_目录。插入(索引,项目);
}
公共无效删除(整数索引)
{
_目录。删除(索引);
}
公共父项此[int索引]
{
得到
{
返回内容[索引];
}
设置
{
_内容[索引]=值;
}
}
公共无效添加(父项)
{
_目录。添加(项目);
this.itemstest.Controls.Add(item);
this.itemstest.Invalidate();
}
公共空间清除()
{
_contents.Clear();
}
公共bool包含(父项)
{
如果(_contents.Contains(项目))
返回true;
返回false;
}
public void CopyTo(父[]数组,int arrayIndex)
{
对于(int _oj=0;_oj
当我尝试向集合编辑器中添加项、重建项目并重新打开集合编辑器时,其中没有显示任何内容。
抛出新的NotImplementedException()代码>???这对您有帮助吗&?