1
我有一個UserControl它有一個集合屬性。我的部分要求是,控件的GUI根據集合的內容在DesignMode中修改自己。例如,想想ListBox。如何確定UserControl集合屬性在設計時已更改?
我的代碼如下所示(添加的覆蓋只是一個實驗):
public partial class MyControl: UserControl
{
public class StringCollection : List<string>
{
public new void Add(string item)
{
Console.Beep();
base.Add(item);
}
}
[Category("Data")]
[Description("The items to be displayed in the Control.")]
[Editor("System.Windows.Forms.Design.StringCollectionEditor, System.Design", typeof(System.Drawing.Design.UITypeEditor))]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public StringCollection Items
{
get
{
return mItems;
}
}
一切工作正常,除了在該系列已經通過StringCollectionEditor修改設計時查不到。我在控件創建時收到「嗶嗶聲」,如果我從代碼中添加到集合中。
我知道這個可以做,因爲ListBox做到了。任何人有任何想法如何?提前致謝。
謝謝 - 從臉上抹大量的雞蛋:-) – John66NY