我有一个usercontrol,我想要一个可以列出Windows窗体中相同用户控件的所有其他实例的属性。
EG。我有一个简单的usercontrol(sidebarbutton)。我在UserForm中拖放它的2个实例。现在我想要一个可以列出它们的属性(在usercontrol本身中)。
我写过这个属性。但是,当在Visual Studio的属性浏览器窗口中使用时,它允许我添加sidebarButton控件的 新 实例。
private List<SidebarButton> _sidebarButtons;
[Browsable(true), EditorBrowsable(EditorBrowsableState.Always), Category("Roshan")]
public List<SidebarButton> SidebarButtons
{
get { return this._sidebarButtons; }
set { this._sidebarButtons = value; }
}
如何在此属性中添加我在表单中拖动的2个实例。 我知道该物业需要修改,但没有正确的方向。请帮我。
答案 0 :(得分:0)
这样做的一种方法是,在向表单添加用户控件后,用户控件会通知该类型的所有其他用户控件。您的用户控件可以实现如下界面:
public interface INotifiable
{
public void AddToList(INotifiable newButton);
}
将用户控件添加到表单后,您将遍历所有控件并检查它们是否实现此接口。如果是,则调用AddToList
方法并将新添加的控件传递给它。