我有一个winform MAINFORM,需要打开这种形式的子表单,如图所示。黑色部分是面板&会包含一个号码。具有多个节点的LinkLabels和Treeview。在部分的其余部分,我想在单击面板上的链接标签时显示子表单。
儿童表格应完全适合剩余的空间,即不包括面板所覆盖空间的空间。
请帮我解决一下代码,如何在左侧空间中填入新表格。
此外,我想问一下,我是否应该使用面板,或者是否有一些其他控件可以更高效或更好。 此外,MAINFORM是否需要成为MdiContainer?
答案 0 :(得分:1)
我在右侧有一个用户控制界面,用于填充剩余空间,每次点击一个链接,我都会使用为该链接标签内容设计的特定控件填充控制界面。这样你就可以忘记MDI相关的任何东西,至少对我来说,它会更加整洁。
更详细,更简单一点,基本上每次单击左侧的链接时,您都会创建一个用户控件,显示该链接的相关内容并在右侧显示,停靠在主要形式,所以它填满了屏幕。
然后,当单击另一个链接时,将删除右侧的此控件并加载新控件。阅读有关创建用户控件的内容,并了解您对此方法的看法。
以下链接可让您入门:Creating and using Windows Forms Control Library (User Control) in C#.net
要将表单拆分为多个部分,请查看Splitter control
答案 1 :(得分:1)
Winforms已经自动执行此操作。您不必编写任何代码,只需在设计器中将面板控件的Dock属性设置为Left即可。 darkgray MDI客户端区域自动缩小以占用剩余空间。您创建的任何MDI子窗口都不会与面板重叠,它们被限制在MDI客户端区域。