似乎当我将面板放在winforms中时,我得到了意想不到的结果。如果我有3个面板,我将它们全部停靠在顶部,以便希望它们都是1个接一个,我将最后一个停靠在应用程序的顶部,而不是最后一个停靠面板的底部。 / p>
我想我对winforms面板中的dock属性如何工作感到困惑!?每当我尝试布局我的应用程序时,我都会头疼,因为一个小组想要停靠在我不想要的地方。
答案 0 :(得分:6)
使用Visual Studio中的“document outline”视图查看表单的层次结构。您将能够确保所有面板处于相同级别,在同一父级下,并且您将能够对它们进行重新排序以更改对接行为/优先级。
答案 1 :(得分:1)
我做了一些研究,在stackoverflow上发现了这个question 一旦我打开那个窗口并将面板向上移动到层次结构中,它就完全停靠了我的期望和想要的方式。我知道必须有某种类型的控制层次结构,我可以搞砸。
答案 2 :(得分:0)
你应该检查{{3p>
你可以尝试做:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
CreatePanels();
}
private void CreatePanels()
{
//YOu should create panelGlobal on your winform and set DockStyle.Fill
panelGlobal.Controls.Add(CreatePanel("topPanel",DockStyle.Top,Color.Red));
panelGlobal.Controls.Add(CreatePanel("bottomPAnel", DockStyle.Bottom, Color.Gray));
panelGlobal.Controls.Add(CreatePanel("fillPanel",DockStyle.Fill,Color.Snow));
}
private Panel CreatePanel(string panelName, DockStyle dockStyle,Color color)
{
return new Panel() { Name = panelName, Dock = dockStyle , BackColor=color};
}
}