【问题标题】:auto resizing panel on a form表单上的自动调整面板大小
【发布时间】:2013-03-11 00:01:25
【问题描述】:

我在一个表单上有两个面板。我想要其中一个,当用户最大化表单时,面板也会最大化,具体取决于表单。我试过了,面板显示在整个表单上,隐藏了另一个面板。 这是我的代码:

public MainForm()
{
  InitializeComponent();

  panel2.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);
  panel2.Dock = DockStyle.Fill;
  TaskControl t = new TaskControl();
  int x, y;
  x = 0;
  y = 0;
  t.Location = new Point(x, y);
  panel2.Controls.Add(t);
  t.BringToFront();

}

我设法做到了。我从属性更改了锚的值。谢谢你的帮助!

【问题讨论】:

  • 你能重新提出这个问题吗?目前还不是很清楚你想要达到什么目的......
  • 如果我正确理解了这个问题,那么接受的答案就是完全错误的。如果您是两个面板,一个调整大小而一个在最大化时不调整,正确的做法是使用预先存在的提供的控件(根据我的回答,拆分容器)来做到这一点。这是那里,它已经过测试,它只是工作。如果您想要一些额外的功能,或者拆分容器不适合,请更新您的帖子或回复我的回答以解释您要实现的目标!

标签: c# forms panel


【解决方案1】:

您不仅应该在初始化时这样做,而且在 Form_Resize 事件等中也应该这样做。例如, 您可以处理Form.ResizeEnd 事件,请参阅参考here

【讨论】:

    【解决方案2】:

    听起来您想要splitcontainer。使用此控件,您可以获得两个面板。将“fixedpanel”属性设置为您不想调整大小的面板。另一个面板将随着表单大小调整(或最大化)而调整大小

    【讨论】: