Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在拖动时滚动flowlayoutpanel?_C#_.net_Winforms_Scroll_Flowlayoutpanel - Fatal编程技术网

C# 如何在拖动时滚动flowlayoutpanel?

C# 如何在拖动时滚动flowlayoutpanel?,c#,.net,winforms,scroll,flowlayoutpanel,C#,.net,Winforms,Scroll,Flowlayoutpanel,在我的Windows窗体应用程序中,我使用FlowLayoutPanel控件向用户显示项目列表。通过让用户将控件拖动到FlowLayoutPanel中所需的位置,我已经成功地实现了对FlowLayoutPanel中的项进行重新排序 但是我不知道当用户拖动一个项目越过面板的边界时如何滚动FlowLayoutPanel。我见过ListView控件的示例,但这些技术似乎不适用于FlowLayoutPanel 有人能提供关于如何实现此功能的示例代码(最好是c#)吗 如果需要,我可以提供当前重新排序方法的

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

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

有人能提供关于如何实现此功能的示例代码(最好是c#)吗

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


谢谢

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

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

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

DragOver
事件中:

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

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

DragOver
事件中:

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

没关系,我找到了答案。在适当的位置添加对FlowLayoutPanel的ScrollControlIntoView()方法的调用解决了这个问题。在适当的位置添加对FlowLayoutPanel的ScrollControlIntoView()方法的调用解决了这个问题。我不认为这从技术上回答了这个问题-不是控件移动后,而是当您拖动项目时,即当您向下拖动列表时,您希望它滚动。然而,下面Sasi Kumar的回答似乎有效。我不认为这从技术上回答了这个问题-不是控件移动后,而是当你拖动项目时,你希望它滚动,即当你向下拖动列表时。然而,下面来自Sasi Kumar的答案似乎有效。