(WinForm C#) 如何固定主窗体的自动滚动?

问题描述 投票:0回答:1

正如你从这个视频中看到的那样。

我的问题视频

每当每个列表视图(顶部和底部的)再次获得焦点时,主窗体的滚动条会移动一点,这使得列表视图在我重新单击另一个列表视图时触发拖放事件。

例如,假设顶部的列表视图获得焦点,当我点击底部的列表视图时,主窗体的滚动条会移动一点。目前,底部的列表视图将显示我正在将一个项目拖到上面,因此它会向我显示一条消息。反之亦然。

拖放事件是必要的,因为它是这里的“复制和粘贴”功能。

那么,如何让主窗体的滚动条在我再次点击另一个列表视图时固定(主窗体的滚动条只在我需要移动时才移动)?

c# winforms listview autoscroll
1个回答
0
投票

@HansPassant

  1. 我添加这个是为了在我的 Mainform 中记录滚动条的当前位置:

    Point point = this.AutoScrollPosition;
    
  2. 并将此代码放在可能使主窗体的滚动条移动的事件中:

    this.AutoScrollPosition = new Point(Math.Abs(point.X), Math.Abs(point.Y));
    
  3. 那现在就解决了~谢谢~!!

© www.soinside.com 2019 - 2024. All rights reserved.