如何取得DevComponents.DotNetBar.SideBar

来源:百度知道 编辑:UC知道 时间:2024/05/31 20:12:43
第三方控件DevComponents.DotNetBar.SideBar下添加了Panel然后再添加了很多buttonItem
请问该如何再次取得Sidebar控件下的子控件

SideBar用一个itemContainer集合来维护其下的panel
非空的panel会在你从UI添加控件的时候创建一个controlContainerItem来维护其中的控件。

你可以使用如下代码做一个测试就知道该如何遍历SideBar的子控件了

foreach (BaseItem bi in sideBar1.ItemsContainer.SubItems)
{
MessageBox.Show("Panel:" + bi.Name);
foreach (BaseItem subBi in ((SideBarPanelItem)bi).SubItems)
MessageBox.Show("SubItem:" + subBi.Name);
}

如果你在添加buttonItem等子控件时指定了其Name属性,也可以直接使用SideBar的GetItem和GetItems方法,如下:
sideBar1.GetItem("btn")即可返回Name属性为btn的控件,类型为baseItem,需要自行转换后使用。此方法是针对SideBar下所有子控件,包括深层的,所以它可以用来获取包括panel、buttonItem等等在各个层面的容器下的控件。

顺便一提,DotNetBar的很多复杂容器控件都有类似的方法方便用户使用,平时应该多多注意控件的Name属性。例如使用DotNetBarManager时便可方便的根据制定的Name获取其管理的任意一个Bar,或者是Bar上停靠的Tab等等。

如有疑问请留言或QQ176229432