DotNet · 2022年3月10日

DotNetBarManager(可拖动控件框管理控件)

DotNetBarManager

生成可在界面拖动的工具框,并可在界面各个角落停靠和隐藏,如菜单,工具栏,上,下左,右的浮动或停靠工具栏

 
 
控件结构层次
    DockSite:为窗体的分区,一般为7个分区,如上,下,左,右,中间,工具栏和菜单栏位置,无表现形式
        Bar:一般一个DockSite会存放一个Bar,但也有可能会拖入多个Bar,表现形式类似多个工具栏,分隔不同的区域
    如图:
            DockContainerItem:具体容纳显示的控件,一个Bar中可以存放多个DockContainerItem,具体表现形式为一个标签如图:
      
 
 
 
Bar的重要属性说明:
    GrabHandleStyle的几个值
        Caption  
        CaptionDotted
        CaptionTaskPane
可形成一个可选择的Combox,来选择不同的Item
        Dotted    
 
从代码动态添加可停靠框

        Dim bar As Bar =
New Bar("Bottom Bar in
auto-hide
state"
)
        bar.Name =
"bottomBar"
        bar.LayoutType
= eLayoutType.DockContainer ' Dock Container Layout needed
for dockable
windows

        bar.Stretch =
True ' Dockable windows
stretch to fill
container

        bar.AutoHideAnimationTime
= 0 ' Some controls do not
support animation so turn it
off

        bar.GrabHandleStyle
= eGrabHandleStyle.Caption ' Dockable Windows have
captions

        DotNetBarManager1.Bars.Add(Bar)
' DotNetBar needs to be aware of the bar so it can manage
it's docking
etc.

        Dim dockItem As
DockContainerItem = New
DockContainerItem("bottomDockItem1", "First dock
item"
)
        Bar.Items.Add(dockItem)
        dockedControl
= New
UserControl1()
        dockedControl.label1.Text
= Bar.Name + " - " +
dockItem.Text
        dockedControl.BackColor
=
Color.Aquamarine
        dockItem.Control
= dockedControl ' Specify that control is hosted on the dock
container

        ' Dock bar to bottom dock
site

        DotNetBarManager1.BottomDockSite.GetDocumentUIManager().Dock(bar)
        dockItem.Height
= 128 ' Specify the height of the
dockable container and at the same time
control

        bar.RecalcLayout()
' Apply all layout
changes...

        Bar.AutoHide
= True

                  

使用经验:

PanelDockContainer如何显示滚动条?
    简单的设置  AutoScrool =
True   是不会自动显示滚动条的,需要同时设置 AutoScrollMinSize为显示滚动条的最小尺寸.
 
Bar的Caption
无法设置,老是自动变回原来的名称?
    
如图:在Bar的Text属性里设置会被自动变回原来默认的名字,
需要同时把AutoSyncBarCaption = False 设置后,才能正常显示,不会变掉
 
拖动到DockContainer里的UserControl老是自动消失?
此时不要做任何变动,或重新从工具栏里拖动消失的控件,也不能进行编译,或运行此时只要关闭此界面编辑器,然后从解决方案中重新打开即可,如果做了,就只能重新拖入用户控件
 

最新电影,电视剧,尽在午夜剧场

电影电视剧午夜不寂寞