我需要以下问题的帮助: 我有一个面板,里面放了一个组合框和另一个面板。我想要的是将子面板显示在父面板的顶部,就像一个组合框在其父项顶部显示其项目一样。有什么方法可以实现吗?
答案 0 :(得分:1)
Combobox
是复合控制。它的弹出部分实际上是一个弹出窗口(类似于菜单)。它甚至可以超出你的形式范围。
在您的屏幕截图中:子面板是父级的子,因此它将由父边界(或者精确地,通过父客户端区域边界)自动修剪。
要离开父面板,子面板应该是父面板父级的子级(例如,表单),然后,假设子面板的z顺序更大(使用SendToFront()
),它将是绘制 over 父面板,并可以达到其父边界的边界。
可以 un-child 控制,将其从父Controls
集合中删除并将其添加到其他父集合中,重新计算新的Location
(使用{{ 1}} - > PointToScreen()
组合,也许甚至还有单一方法)。
如果你认为超出形式界限更像是 combobox 'ish,那么你需要将它实现为弹出窗口(参见例如here)。 / p>