Tag: 可滚动

如何使用ScrollableControl并将AutoScroll设置为false

我有一个自定义控件,可以放大自定义绘制的文档canvas。 我尝试使用AutoScroll但它没有给出满意的结果。 当我将AutoScrollPosition和AutoScrollMinSize背靠背(以任何顺序)设置时,它会强制绘画并在每次变焦时引起抖动。 我假设这是因为它修改了两个属性时调用了Update而不是Invalidate。 我现在手动设置Horizo​​ntalScroll和VerticalScroll属性, AutoScroll设置为false ,因此每次缩放级别或客户端大小更改时: int canvasWidth = (int)Math.Ceiling(Image.Width * Zoom) + PageMargins.Horizontal; int canvasHeight = (int)Math.Ceiling(Image.Height * Zoom) + PageMargins.Vertical; HorizontalScroll.Maximum = canvasWidth; HorizontalScroll.LargeChange = ClientSize.Width; VerticalScroll.Maximum = canvasHeight; VerticalScroll.LargeChange = ClientSize.Height; if (canvasWidth > ClientSize.Width) { HorizontalScroll.Visible = true; } else { HorizontalScroll.Visible = false; HorizontalScroll.Value = 0; } if (canvasHeight […]