2011-08-28 91 views
6

是否可以將控件錨定到另一個控件?是否可以將控件錨定到另一個控件?

可以說我想讓我的Button1與Textbox1控件保持4px的距離,沒有
使用FlowLayoutTable控件?

"Why would be this advantageous?" - one could ask 

那麼可以說你有一個垂直分割一個SplitContainer的,你有文本框
在SplitContainer.Panel1被固定在左,右,但其最大尺寸的
寬度小於你允許的SplitContainer.Panel1的寬度有(也許
因爲你希望文字顯示有或者是因爲額外的填充或什麼的,你的名字)

現在讓我們假設你也有一個按鈕旁邊的Textbox1的,你不想Textbox1的到是
由Button1重疊的,因爲它延伸到遠處。

如果我想有我文本框填寫SplitContainer.Panel1的方式,它讓空間
Button1的控制,同時還是兩者都被錨定到如何將我做的對嗎?

+0

很難從問題中形象化。錨適合簡單的佈局。通過訂閱SplitterMoving事件或控件的LocationChanged或SizeChanged事件並更改Location或Size屬性來實現自定義佈局。 –

+0

@Hans謝謝,我認爲這將是一種解決方法或更可能的正確方法來做到這一點,我只是想知道這是否可能,但你的回答引發了我的另一個問題,我可能會或可能不會問這裏或在另一個問題:) – Qqbt

+0

@Hans你的問題解僱了一個事件,我打電話給你WithEvents,我在聽:) – Qqbt

回答

5

我廣泛使用TableLayoutPanels和FlowLayoutPanels來實現這一點。對於你的具體情況,我會使用一個TableLayoutPanel,每個TextBox有三列和一行。

第1列:自動寬度,包含全部爲AutoSize = True的標籤。
第2列:寬度爲100%,包含文本框全部爲Anchor = Left, Right
第3列:自動寬度,在適當的行中包含Button。

接下來,我設置了所有文本框,除了按鈕旁邊的那個,ColumnSpan = 2。然後,將TableLayoutPanel放置在SplitPanel中並設置爲Dock = Fill

0

它將是一個應該從左邊流出並繼續工作的現場序列,讓右側應該是佈局。

  1. 應提供清單項安全護理。
  2. 列表項應該提供所有在這個方法中使用的東西並且檢查;
相關問題