Dot-Net

如何在面板上的預覽頂部停靠控制項下方插入頂部停靠控制項

  • May 1, 2018

我使用 panel.controls.add 向面板添加控制項。但是……他們插入在它的最頂部。

我嘗試了 BringToFront 和 SendToBack 方法,但似乎不起作用。

有任何想法嗎?謝謝

編輯:

我想要的是它們停靠在容器的頂部,但是如果那裡有另一個停靠的控制項,則新的控制項將顯示在該容器的下方…

停靠順序基於 Controls 集合中控制項的索引。最後一個在上面。這就是為什麼您添加的控制項位於頂部並將現有的停靠控制項向下推的原因。使用 SetChildIndex() 方法將控制項移動到索引 0:

       var btn = new Button();
       btn.Dock = DockStyle.Top;
       panel1.Controls.Add(btn);
       panel1.Controls.SetChildIndex(btn, 0);

你有兩種方法可以做到這一點。

  1. 按照您希望它們在面板中顯示的順序添加控制項,在創建它們時將控制項停靠在底部。
Example:
Panel.Controls.Add(Label1)
Panel.Controls.Add(Label2)
Panel.Controls.Add(Label3)
  1. 反轉添加到面板的控制項的順序,在創建控制項時將控制項停靠在頂部。
Example
Panel.Controls.Add(Label3)
Panel.Controls.Add(Label2)
Panel.Controls.Add(Label1)

如果這不是您想要的,您將需要顛倒添加的順序(這似乎不太可能)或對接(向上與向下)。

引用自:https://stackoverflow.com/questions/7684315