WinForm 开发实战:创建高性能的 Panel 滚动分页控件

201 阅读2分钟

前言

前段时间因为想拥有一个自己的软件快捷打开软件,于是参考Windows 11的开始菜单,进行了编写这个应用软件,里面有一个功能就是对显示的Panel里的应用对象的分页功能,于是就想写一个对Panel的自定义滚动条控件。

下面开始介绍此控件的功能。

项目目录

源码介绍

1、控件代码

先计算能显示的页数显示

让页数能够点击切换

2、应用代码

添加滚动条控件

Panel的鼠标滚动响应事件

加载需要的控件到Panel里

3、分为水平和垂直两个控件

水平和垂直两个的区别是鼠标滚动和加载Panel里控件的代码不同。

运行界面

1、垂直条;该控件显示在Panel的右边,以点的形式显示分页:

2、水平条;该控件显示在Panel的底部,以点的形式显示分页:

使用介绍

将控件类库引用到UI项目中;(主要是PanelScrollPage目录下的控件文件)

在UI窗体里添加下列代码:

复制此例子项目中的"私有变量"、"自定义函数"、"PanelCtl_MouseWheel"项到窗体里;

在窗体的代码里添加:

1、在窗体的构造函数里添加:this.PanelCtl.MouseWheel += PanelCtl_MouseWheel;

2、在窗体的Load事件中添加Add此自定义滚动条控件的代码;

3、修改AddApp2Display函数往Panel里添加控件,并根据Panel里的控件的大小进行修改控件的高、宽,以及Top、Left里的100为高、宽;

4、修改LoadApps里的70这个数字,用一个变量来替代,用来显示当前添加的控件总数;修改_TotalPage计算的那个32为一页能放的多少个控件;

注:如果有删除Panel里的控件的,则需要在删除后调用一下LoadApps函数。

源码下载

download.csdn.net/download/lz…

其它建议

这个例子是笔者编写应用的时候剥离出来的,放上来分享给读者,请需要的读者自己复用此代码。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

优秀是一种习惯,欢迎大家留言学习!

作者:刘恒辉

出处:cnblogs.com/lzhdim/p/18866367

声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!