2012-01-10 103 views
0

我開始更新我公司的一個應用程序的用戶界面,我遇到了一個棘手的問題。父控件包含多個面板,每個面板可以根據用戶輸入打開或關閉。從孩子的調整大小事件調整父級控制

用戶控件中的最後一個面板包含另一個用戶控件,該控件根據切換開關調整大小。實質上,它「打開」了更多信息。

雖然子控件(ChildControl)停靠在父控件(ParentControl)內部填充,但當我將高度添加到ChildControl時,我無法獲取ParentControl的高度以進行更新。目前我正在處理ParentControl中的ChildControl.Layout事件,但我似乎無法達到該代碼。要調整ChildControl的大小,我在ChildControl.vb中調用Me.Height += 200

我相信我做錯了,但MSDN沒有太大的幫助。感謝任何和所有的幫助。

+2

您絕對不想使用Dock,這會強制控件遵循父級的大小。父級應具有AutoSize = True和AutoSizeMode = GrowAndShrink,以便它跟隨子控件。 – 2012-01-10 17:37:21

+0

我希望我可以...我使用的是Telerik控件的3年前版本,並且控件停放在「RadGroupBox」內部。顯然它不支持'AutoSizeMode'。我不能等到我們終於重建這個東西。 – EHorodyski 2012-01-10 20:36:16

+0

我確實採取了你的建議,擺脫了碼頭。工作得更好,即使沒有AutoSizeMode。 – EHorodyski 2012-01-10 21:09:39

回答

1

嘗試ChildControl.Resize事件。

我的答案是用C#。但它可能也是一樣的。

+0

我應該提到這個,但我試着從ParentControl.vb調用'ChildControl.Resize'' ChildControl.Layout'和'ChildControl.SizeChanged'事件 – EHorodyski 2012-01-10 16:16:07

+0

@DrFeelgood「當我將高度添加到ChildControl ...」爲什麼你這樣做,如果它停靠在'Fill'上?也許你應該先解開它。 'label1.Dock = DockStyle.None;'在C#中。 – ispiro 2012-01-10 16:28:53

+0

@DFeFeelgood @DrFeelgood我只是在一個窗體中放置了一個標籤,並且'Resize'事件_did_ fire,但是'Height'保持不變(因爲它是停靠的,我假設)。 – ispiro 2012-01-10 16:45:57

相關問題