【问题标题】:How to scroll a flowlayoutpanel while dragging?拖动时如何滚动flowlayoutpanel?
【发布时间】:2011-01-15 17:52:49
【问题描述】:

在我的 Windows 窗体应用程序中,我使用 FlowLayoutPanel 控件向用户显示项目列表。通过让用户将控件拖动到 FlowLayoutPanel 中的所需位置,我已经能够成功地实现对 FlowLayoutPanel 中的项目的重新排序。

但是当用户将项目拖动到面板边界之外时,我不知道如何滚动 FlowLayoutPanel。我看过 ListView 控件的示例,但这些技术似乎不适用于 FlowLayoutPanel。

有人可以提供示例代码(最好是 c# 中的代码),说明如何实现此功能?

如果需要,我可以提供当前重新排序方法的代码示例。

谢谢!

【问题讨论】:

  • 没关系,我找到了答案。在适当的位置添加对 FlowLayoutPanel 的 ScrollControlIntoView() 方法的调用解决了这个问题。

标签: c# .net winforms scroll flowlayoutpanel


【解决方案1】:

在控件移动后添加对 ScrollControlIntoView() 方法的调用。

【讨论】:

  • 我不认为这在技术上回答了这个问题 - 它不是在控件移动后,而是在您拖动您希望它滚动的项目时,即当您向下拖动列表时。然而,下面 Sasi Kumar 的答案似乎有效。
【解决方案2】:

这可以通过设置AutoScrollPosition 属性来实现。

DragOver事件中:

flowLayoutPanel1.AutoScrollPosition = flowLayoutPanel1.PointToClient(new Point(e.X, e.Y));

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 2023-03-16
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多