【问题标题】:How to scroll contents WHILE scrolling如何在滚动时滚动内容
【发布时间】:2013-08-30 11:48:43
【问题描述】:

我创建了一个用户控件,它本质上是一个文本编辑器(在 OnPaint 中使用 Graphics.Drawstring)。

我已经适当地设置了 AutoScroll = true 和 AutoScrollMinSize 值。一切正常……

除了,我希望控件在我当前滚动时自行滚动(即单击并拖动滚动条......并且在拖动时,控件应该一直滚动)。目前它只在滚动条被释放(鼠标向上)时滚动。

我已经尝试实现 _Scroll 并使控件无效,但这只会使其无法控制地闪烁。

由于难以描述,我在网上找不到任何示例!

谁能指点我正确的方向?

【问题讨论】:

  • 重复问题的邮政编码。

标签: winforms user-controls scroll


【解决方案1】:

Control.Invalidate() 会使某些东西严重闪烁。我以前在绘制折线图的PictureBox 上的鼠标位置上绘制十字线时遇到了这个问题。诀窍是使用(我不记得哪个最好先来)

Control.Update();
Control.Refresh();

Scroll 事件中。根据您在Control 中绘制的其他内容以及绘制方式,这可能对您更好。这也是在PictureBox 上测试的,Control 可能是另一回事。

【讨论】:

  • 不,由于某种原因,这不起作用,无论我有它们。
  • 实际上,它奏效了。不知道我做错了什么,但是在更新之前刷新已经成功了。谢谢!
猜你喜欢
  • 2016-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多