效果展示:
自定义控件源代码:
using System;
using System.Drawing;
using System.Windows.Forms;
using static NPOI.HSSF.Util.HSSFColor;
namespace TestSystemManager
{
public class PaginationControl : UserControl
{
// 事件:当页码切换时触发
public event EventHandler<int> PageChanged = null!;
// 当前页码
private int _currentPage = 1;
public int CurrentPage
{
get => _currentPage;
set
{
if (value >= 1 && value <= TotalPages)
{
_currentPage = value;
Console.WriteLine($"CurrentPage updated to: {_currentPage}"); // 调试输出
UpdatePagination();
}
}
}
// 总页数
private int _totalPages = 1;
public int TotalPages
{
get => _totalPages;
set
{
_totalPages = value > 0 ? value : 1;
UpdatePagination();
}
}
// 布局面板
private FlowLayoutPanel flowLayoutPanel;
// 每页显示的最大按钮数量
private int MaxButtons => this.Width / 50; // 按钮宽度约50像素
// 分页控件初始化
public PaginationControl()