700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 关于C#的Panel控件重绘后滚动条跳动的问题

关于C#的Panel控件重绘后滚动条跳动的问题

时间:2019-12-10 04:09:26

相关推荐

关于C#的Panel控件重绘后滚动条跳动的问题

在网上找了很多方法,(1)记录滚动条位置,然后在重绘时将保存下来的位置重新复制;

(2)重写ScrollToControl;

其中第一种方法治标不治本,会出现画面闪动,第二种方法最为有效。

下面主要记录重写ScrollToControl过程:

参考博客:/yysyangyangyangshan/article/details/7335980

主要思路是继承Panel,然后重写ScrollToControl。

(1)在使用该panel控件的窗体下的类里面加入如下代码:

public partial class MyPanel : Panel{protected override Point ScrollToControl(Control activeControl){return this.AutoScrollPosition;}}

(2)修改InitializeComponent()函数(我的程序名字叫Tool,它的Form1内使用了panel控件):

// this.panel1 = new System.Windows.Forms.Panel();this.panel1 = new Tool.Form1.MyPanel();

通过上面两步即可解决滚动条的问题。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。