【问题标题】:Make the image scrollable使图像可滚动
【发布时间】:2011-09-10 13:04:23
【问题描述】:

我有 TabPageControl 和里面的一些 TabPages。我需要将大图像放入标签页并每 30 秒更改一次,我只想查看图像的一部分。所以我需要滚动。但我遇到了下一个麻烦:当我滑动滚动条时,图像消失或出现 1 个黑色条纹。我用谷歌搜索了这个问题,但没有找到任何信息。

【问题讨论】:

  • 假设您使用的是 WinForms 是否正确?你是把图片放在 PictureBox 控件中吗?
  • 您使用的是 WinForms 还是 WPF?您是否使用 PictureBox 来显示您的图像?请向我们展示您的部分代码...
  • 我用的是 WinForms,我没有把图片放在图片框中。我从 tabpage.backgroundimage 获取图形并在其上绘制。 grBackground = Graphics.FromImage(this.currTPage.BackgroundImage); grBackground.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; grBackground.DrawLine(drawingPen, point1, point2);
  • Vasili 能否给我们看一些代码,你在什么情况下绘制以及如何绘制?
  • 您可以编辑您的问题并添加代码,不要为此使用注释

标签: c# winforms scroll tabpage


【解决方案1】:

我建议您为此使用 PictureBox。

将 TabPage.AutoScroll 属性设置为 true,如果内容大于标签页,这将导致标签页显示滚动条。

将 PictureBox.SizeMode 设置为 PictureBoxSizeMode.AutoSize,这将使 PictureBox 控件的大小与加载图像的大小一致。如果图片框比它所在的标签页大,标签页将显示必要的滚动条,它们应该可以正常工作。

  tabPage1.AutoScroll = true;
  pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

然后,如果需要,您可以在图片框上绘图。您通常会在图片框的Paint 事件中进行此绘图。

【讨论】:

    【解决方案2】:

    另一个建议是将图片框放在 FlolayoutPanel 中。将 FlolayoutPanel 的 Auto scroll 设置为 true 并将图片大小模式设置为 normal

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 2022-01-19
      相关资源
      最近更新 更多