C#开发的Panel滚动分页控件 - 开源研究系列文章
前些时候因为想拥有一个自己的软件快捷打开软件,于是参考Windows 11的开始菜单,进行了编写这个应用软件,里面有一个功能就是对显示的Panel里的应用对象的分页功能,于是就想写一个对Panel的自定义滚动条控件。
下面开始介绍此控件的功能。
1、 项目目录;

2、 源码介绍;
1) 控件代码;
先计算能显示的页数显示:

让页数能够点击切换:

2) 应用代码;
添加滚动条控件:

Panel的鼠标滚动响应事件:

加载需要的控件到Panel里:

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

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

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

4、 使用介绍;
1) 将控件类库引用到UI项目中;(主要是PanelScrollPage目录下的控件文件)
2) 在UI窗体里添加下列代码:
(1) 复制此例子项目中的“私有变量”、“自定义函数”、“PanelCtl_MouseWheel”项到窗体里;
(2) 在窗体的代码里添加:
(2.1)在窗体的构造函数里添加:this.PanelCtl.MouseWheel += PanelCtl_MouseWheel;
(2.2)在窗体的Load事件中添加Add此自定义滚动条控件的代码;
(2.3)修改AddApp2Display函数往Panel里添加控件,并根据Panel里的控件的大小进行修改控件的高、宽,以及Top、Left里的100为高、宽;
(2.4)修改LoadApps里的70这个数字,用一个变量来替代,用来显示当前添加的控件总数;修改_TotalPage计算的那个32为一页能放的多少个控件;
注:如果有删除Panel里的控件的,则需要在删除后调用一下LoadApps函数。
5、 源码下载;
https://download.csdn.net/download/lzhdim/90786933
6、 其它建议;
这个例子是笔者编写应用的时候剥离出来的,放上来分享给读者,请需要的读者自己复用此代码。
C#开发的Panel滚动分页控件 - 开源研究系列文章的更多相关文章
- C#开发的线程池和管理器 - 开源研究系列文章
上次编写了一个小软件,用于练手及自己的一个小工具集合.今天把其中的线程池和管理器的代码抽取出来,写成一个博文,让需要的朋友能够进行学习和应用. 这个线程管理器包括了3个类库和一个应用程序,见下图: 第 ...
- C#开发的插件程序 - 开源研究系列文章
上次编写了一个家庭小助手的小工具软件,也对其中的线程池及管理器进行了介绍(见博文:C#开发的线程池和管理器 - 开源研究系列文章),这次把里面的插件部分的功能单独放出来进行介绍,让更多的朋友能够进行学 ...
- Repeater + 分页控件 AspNetPager 研究
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs ...
- C#面向插件级别的软件开发 - 开源研究系列文章
在现在的面向对象的分析与设计软件开发过程中,最开始就是面向对象的软件开发.但是,在实际的软件开发过程中,很多都是面向接口的开发方式,这种是一种面向对象开发的模式.但是,今天笔者给大家带来的是面向插件的 ...
- C#开发的磁吸屏幕类库 - 开源研究系列文章
上次写了一个关于线程池的博文,里面讲到了关于磁吸屏幕的类库,今天就把这个类库进行下讲解. 一. 类库目录: 类库的目录见下图,主要定义了Win32的一些API,以及一些API使用到的常量和结 ...
- C#开发的资源文件程序(可国际化) - 开源研究系列文章
上次将小软件的线程池描述了,也将插件程序描述了,这次就将里面的资源文件相关的内容进行下记录,这里能够让程序做成国际化的形式(即多语言程序),主要就是通过这个资源文件的方式进行的处理.下面将对这个资源文 ...
- asp.net webform 自定义分页控件
做web开发一直用到分页控件,自己也动手实现了个,使用用户自定义控件. 翻页后数据加载使用委托,将具体实现放在在使用分页控件的页面进行注册. 有图有真相,给个直观的认识: 自定义分页控件前台代码: & ...
- 日积月累系列之分页控件(js源码)
最近开发了一款分页控件,分享给大家. 主要功能和界面介绍 cform分页控件支持服务端分页.客户端分页.数据过滤.数据排序等功能. 源码介绍 cform-pager分页控件主要由三部分组成:css.s ...
- OCUI界面设计:滚动视图与分页控件初探
滚动视图(UIScrollView) 简单介绍 1.UIScrollView滚动视图能够排列并显示超出自身显示范围的内容. 2.UIScrollView内部整合了多种手势来达到丰富的界面展示效果. 3 ...
- winform快速开发平台 -> 基础组件之分页控件
一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...
随机推荐
- tortoiseGit no git.exe found
运行tortoiseGit之后显示找不到git.exe 原因:没有安装git,tortoiseGit是在安装了git的基础上运行的 到这里下载git并安装:https://gitforwindows. ...
- Selenium 项目搭建过程
Selenium 环境搭建多多少少大概有4.5次了,每次都有东西遗忘,整理下大概的过程: 安装python,下载exe文件 C:\Users\lic\AppData\Local\Programs\Py ...
- LaTeX使用记录
安装与使用 曾在Windows10下装过MikTeX,并配合vscode插件LaTeX Workshop使用过一段时间:这次转到wsl2中,并使用texlive,所以插件的配置json需要小修改 参考 ...
- 错误修正记录: [Vivado 12-8300] Launch HLS failed! Please see vitis_hls.log for details.
起因 使用了Vivado Video Frame Buffer Read和Vivado Video Frame Buffer Write,按out of context模式综合失败.vivado版本2 ...
- 腾讯云锐驰型轻量服务器搭建开源远程桌面软件RustDesk中继服务器小记
RustDesk是一个基于Rust编写的全平台开源远程桌面软件,其最大的特点为开箱即用,且数据完全自主掌控,甚至可以依托此项目定制化开发自己专属的远程桌面软件. 一.前言 由于我个人经常性出差,对远程 ...
- Delphi 判断当前系统是否64位
uses Winapi.Windows; function IsWin64: Boolean; var IsWow64Process: function(Handle: THandle; var Re ...
- 【Docker】本地镜像发布到阿里云
本地镜像发布到阿里云 本地镜像发布到阿里云流程 镜像的生成方法 1. 前面的DockerFile 2. 从容器创建一个新的镜像 docker commit [OPTIONS] 容器ID [REPOSI ...
- 【Java】Math类的基本操作
Math类 Math 类是数学操作类,提供了一系列的数学操作方法,包括求绝对值.三角函数等,在 Math 类中提供的一切方法都是静态方法(类方法),所以直接由类名称调用即可. Math类的基本操作: ...
- 第一次3D打印,一个简单的小方块(rhino)
一.建模 打开犀牛,我们选择立方体 我们点击上册的中心点 输入0,然后回车0 而后我们输长度:10,回车确认 同样的,宽度10 高度同样是10 回车确认后,我们得到一个正方形 二.导出模型 我们选择文 ...
- python批量检测链接是否可正常打开
通过一些爬虫脚本爬取图站图片,但是发现有些图片是没法打开的,可能返回404的code码 所以设计一个脚本,对所有的图片地址进行检查,返回200的保存到另外一个文本内,然后再去下载 脚本逻辑很简单,直接 ...