C# - 响应式Winforms应用程序在图片盒中的定位

时间:2017-10-17 15:12:53

标签: c# winforms

我目前正在尝试创建一个响应式 winforms应用程序。

我尝试归档的内容:

我想创建一个具有响应式UI的winforms布局。

我的问题是什么:

我在TableLayoutPanel的第一行添加了三个图片框(关闭按钮/最小化应用程序按钮/最大化应用程序按钮)。

这三个图片框位于表单的右上角。但是,单击最大化按钮后,这些图片框的位置不会改变。它们保持在确切的位置,使它们在最大化的屏幕上居中。

屏幕截图显示:

enter image description here

我该怎么做才能解决这个问题?我感谢任何建议和帮助。

到目前为止我做了什么:

  1. 添加了一个包含2行的TableLayoutPanel。
  2. 在包含pictureBox的第一行添加了一个Panel。
  3. 在pictureBox中添加了3个pictureBox,它们是截图中显示的按钮,用于关闭/最小化/最大化应用程序。

2 个答案:

答案 0 :(得分:2)

首先,TableLayoutPanel是一个非常糟糕的控制。一旦你获得太多的列或行,很难使用一个有明显性能问题。我建议使用两个常规面板,一个使用Dock = Top,另一个使用Dock = Fill。 至于你的按钮,我会将它们放在顶部面板中,并将它们的锚属性设置为顶部和右边。

进一步阅读:

Control.Dock财产。
Control.Anchor财产。

答案 1 :(得分:0)

您应该将它们固定在容器的右侧。你应该看看这个: https://msdn.microsoft.com/en-us/library/system.windows.forms.control.anchor(v=vs.110).aspx