.net – 自定义Windows窗体滚动条

前端之家收集整理的这篇文章主要介绍了.net – 自定义Windows窗体滚动条前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在没有正确答案的情况下在万维网上搜索过.

在我的Windows窗体应用程序中,我想更改属于FlowLayoutPanel的滚动条的宽度.

由于Flow Layout Panel的内容比Form大,因此“自动添加滚动条.

从我在网上发现的内容来看,这似乎很棘手.

这有什么解决方案吗?

干杯!

不,没有办法更改单个控件上显示的滚动条的宽度(尽管系统范围的设置会影响所有应用程序中的所有滚动条).

丑陋的事实是,低滚动条控制远比看起来复杂得多.基本上,FlowLayoutPanel上的滚动条是由Windows本身(而不是.NET Framework)绘制的,因为在幕后为控件设置了WS_HSCROLL和/或WS_VSCROLL窗口样式. FlowLayoutPanel不提供任何更改或修改这些内置滚动条绘制方式的工具.与WinForms中的其他更高级的修改不同,我们不能将这些消息发送到控件的窗口过程.更糟糕的是,滚动条是在FlowLayoutPanel的非客户区域中绘制的,这意味着我们不能仅仅覆盖其Paint事件并自己处理滚动条的绘制.

不幸的是,如果你真的想要自定义你的滚动条,你将不得不隐藏内置的滚动条并滚动自己的滚动条.然而,如果你想要的话,它并不像听起来那么困难. CodeProject上的This article提供了一个很好的演练,可以创建自己的可换肤滚动条作为用户控件,并将其用作您选择的容器控件的替代品.

猜你在找的Windows相关文章