WinForms 树视图显示定位



我在自定义控件上有一个TreeView(System.Windows.Forms.TreeView)控件(类似于Visual Studio 2013中的"输出"窗口)。 该控件放置在主窗体(如 Visual Studio IDE)的底部。 当我用数据填充此 TreeView 控件时,它会正确填充,但是,如果包含控件接近底部, 显示的"弹出窗口"被切断。 如果我展开下部控件以获得更多空间,则该控件将显示所有数据。显示器"停靠"到设计的位置。我尝试在显示屏上放置滚动条(有效),但这不是期望/请求的行为。

我想做的是,如果有必要,让显示器"上升",就像Visual Studio 2013的"输出"窗口中显示"显示输出来源:"一样,或者简单地让显示器自由浮动。

任何建议将不胜感激。

提前谢谢。

皮特。

已解决:- 创建3个新变量...原始父、原始位置和第一次。- 在 Resize 方法(从 mouseOver 事件调用)中,设置了显示的大小,如果这是第一次,请保存上述内容并将父项设置为 TopLevelControl- 确定表单上的新位置...originalParent.FindForm().PointToClient(originalParent.PointToScreen(originalLocation).- 查看显示的输出是否会超出顶部表单的末尾...TopLevelControl.DisplayRectangle.Height - (locationOnForm.Y + oTreeView.DisplayRectangle.Height)- 如果差值小于 0,请调整新位置。Y 由差异。- 将显示输出位置设置为新位置

普雷斯托...

  • 此外,还添加了一个方法,以便在调整主窗体大小或重新定位包含控件时,使用上面的信息设置位置 - 只是不调整显示输出高度。
  • 在 mouseLeave 事件中添加对重置的调用

最新更新