1
我需要以下問題的幫助: 我有一個面板,其中放置了一個組合框和另一個面板。我想要的是在父面板頂部顯示子面板,就像組合框顯示其父項頂部的項目一樣。任何方式來實現這一目標?使其控件顯示在其父項頂部
我需要以下問題的幫助: 我有一個面板,其中放置了一個組合框和另一個面板。我想要的是在父面板頂部顯示子面板,就像組合框顯示其父項頂部的項目一樣。任何方式來實現這一目標?使其控件顯示在其父項頂部
Combobox
是複合控制。其彈出部分實際上是一個彈出窗口窗口(類似於菜單)。它甚至可能超出你的表單的範圍。
在你的屏幕截圖上:子面板是父親的孩子,所以它將自動按父親邊界(或者正好由父親區域邊界)修整。
如要父面板之外,子面板應該是父面板父(至例如,表格),然後,子面板的假定z-次序是更大(使用SendToFront()
)的子項,它會被過度拉伸父面板,並可以上到其父界的界限。
有可能聯合國兒童控制,由母公司Controls
集合中移除它,將它添加到一些其他的父集合,重新計算新Location
(使用PointToScreen()
- >PointToClient()
組合,也許是這甚至單一的方法)。
如果你覺得走形式的邊界外更像組合框「十歲上下,那麼你需要實現它的彈出窗口(看,例如,here)。
您是否試過[Control.SendToBack](http://msdn.microsoft.com/en-us/library/system.windows.forms.control.sendtoback%28v=vs.110%29.aspx),[ Control.BringToFront](http://msdn.microsoft.com/en-us/library/system.windows.forms.control.bringtofront%28v=vs.110%29.aspx)?? –
您的意思是孩子的面板較長,應該顯示在另一個面板上?在這種情況下,它應該被添加到主面板的父級(表單?),並放置在正確的Z順序(BringToFront) –
@huMptyduMpty是,這不會改變。 – mrida