查阅网上关于滚动条的美化资料,多数不符合我的要求;打算动手自己撸一个;最终实现效果如下图:
实现方式为隐藏系统滚动条,设置控件工作区域,把自定义滚动条放到对应的位置实现滚动操作;后面会一步步的实现该功能;
参考资料包含不限于:
Winform:关于滚动条美化_wzk456的博客-CSDN博客_winform 滚动条样式
C#程序员开发WinForm必须知道的 Window 消息大全-阿里云开发者社区
首先是自定义滚动条的实现
1.创建滚动条控件继承Control
2.添加一些必要的属性:滚动条最大值、背景色、滑块颜色等等
3.绘制自己想要的样式并添加行为事件
绘制滑块圆角代码
private void DrawSlider(Graphics g)
{
GraphicsPath path;
if (rectSlider.Width == 0 || rectSlider.Height == 0)
{
return;
}
if (rectSlider.Width > rectSlider.Height)
{
//水平
path = DrawHelper.GetHorizontal(this.rectSlider);
}
else
{
//垂直
path = DrawHelper.GetVertical(this.rectSlider