C#,WinForms,如何动态地设置控件Dock/Undock?

如下,bar1是DotnetBar的一个可停靠(dockable)子窗口,
这个子窗口为啥没有Dock属性?(在VS的IDE里是有的),于是我强制转换,

(bar1 as Control).Dock=DockStyle.None;

没有效果。。。
======================
爪爪兄,没有用。

你想创建一个可停靠(类似Visual Studio)的窗口?如果是,请按如下的步骤试试。
先拖一个DotnetBarManager到你的窗口,你将在窗口下方的组件栏中看到这个控件,右键点击这个控件,将会有诸如:Create Dock Bar Left之类的菜单。你可以按照你的需求来创建Dock Bar或Tool Bar,或Menu Bar。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-06-05
请调整控件的Anchor属性值为Top, Bottom, Left, Right
这样您再试试 只要母窗体发生变化,它本身的大小也会变化的
如果要让所有的控件都一次性设置成功
可以在Form1_Load事件里为所有的控件设置这个属性
可以在 this.Controls里获取form1里面的全部control然后遍历并设置就可以了
第2个回答  2010-03-29
你跟踪一下bar的parent是什么控件,我感觉bar之上应该还有个容器控件。那个应该有dock属性。本回答被提问者采纳
第3个回答  2010-03-29
这时你再改变control的大小与位置就有效果了吧

C#,WinForms,如何动态地设置控件Dock\/Undock?
先拖一个DotnetBarManager到你的窗口,你将在窗口下方的组件栏中看到这个控件,右键点击这个控件,将会有诸如:Create Dock Bar Left之类的菜单。你可以按照你的需求来创建Dock Bar或Tool Bar,或Menu Bar。

相似回答