2017-10-17 48 views
0

我目前正在嘗試創建一個響應 winforms應用程序。C# - 響應式Winforms應用程序定位pictureboxes

我嘗試存檔什麼:

我想創建一個WinForms佈局,將有一個負責任的UI。

什麼是我的問題:

我已經添加了三個pictureboxes(關閉按鈕/最小化應用程序按鈕/最大化應用程序按鈕)到TableLayoutPanel中的第一行。

這三個圖片框位於表格的右上角。但是一旦我點擊最大化按鈕,那些圖片框的位置就不會改變。他們停留在確切的位置,使他們字面上集中在最大化的屏幕上。

屏幕截圖顯示的是:

enter image description here

我能做什麼來解決這個問題?我很欣賞任何形式的建議和幫助。

我迄今所做的:

  1. 添加含有2排一個TableLayoutPanel。
  2. 將面板添加到包含pictureBox的第一行。
  3. 向pictureBox添加了3個圖片框,它們是屏幕截圖中顯示的用於關閉/最小化/最大化應用程序的按鈕。
+0

將這些圖標圖片框停靠在容器的右側。你也可以使用錨來爲他們「頂」和「右」。 –

回答

2

首先,TableLayoutPanel是一個相當可怕的控制。一旦出現過多的列或行,很難與具有明顯的性能問題一起工作。我建議使用兩個常規面板,一個用Dock = Top,另一個用Dock = Fill代替。 至於你的按鈕,我會將它們放置在頂部面板內,並將它們的錨定屬性設置爲Top和Right。

延伸閱讀:

Control.Dock財產。
Control.Anchor財產。

+0

由於用戶正在尋找通常需要相對大小(百分比)的響應能力,所以'TableLayoutPanel'似乎是一個不錯的選擇。 –

+0

只有只有幾個單元格。我以前用過它,大約有10列6行,性能很差。必須將其刪除並將所有標籤放在自己的內部。 –