我需要在运行时停靠 WinForms 用户控件,但我遇到了问题。
在我的主窗体中,顶部有一个菜单条。我想以编程方式添加一个停靠在主窗口左侧和菜单条下方的 UserControl。
当我在运行时添加我的用户控件,然后将其 Dock 属性设置为 DockStyle.Left 时,它不会出现在菜单条下方,而是占据了表单的整个左侧。这会导致菜单条被推到右侧并且看起来不吸引人。
我需要在运行时执行此操作,因为该项目需要能够为每个用户自定义哪些用户控件可以出现在主窗体的左侧。
任何帮助寻找答案将不胜感激。
我需要在运行时停靠 WinForms 用户控件,但我遇到了问题。
在我的主窗体中,顶部有一个菜单条。我想以编程方式添加一个停靠在主窗口左侧和菜单条下方的 UserControl。
当我在运行时添加我的用户控件,然后将其 Dock 属性设置为 DockStyle.Left 时,它不会出现在菜单条下方,而是占据了表单的整个左侧。这会导致菜单条被推到右侧并且看起来不吸引人。
我需要在运行时执行此操作,因为该项目需要能够为每个用户自定义哪些用户控件可以出现在主窗体的左侧。
任何帮助寻找答案将不胜感激。
一种快速而肮脏的方法是在 MenuStrip 下方添加一个面板(停靠在左侧或完整),然后将 UserControl 添加到面板中。
编辑:发生的事情是控件添加到容器的顺序决定了它们在表单上的显示方式。由于您在创建表单后的某个时间点以编程方式执行此操作,因此 UserControl 是添加到表单的最后一个控件,因此它将影响表单上已经存在的那些项目。如果您在表单上有一个面板,它也使事情看起来像您想要的那样,那么将 UserControl 添加到面板只会影响面板内的那些项目,而不影响表单的其余部分。
添加一个停靠在工具条下方的面板,并将用户控件添加到该容器。
编辑:已经回答。