我在没有正确答案的情况下在万维网上搜索过.
在我的Windows窗体应用程序中,我想更改属于FlowLayoutPanel的滚动条的宽度.
由于Flow Layout Panel的内容比Form大,因此“自动”添加滚动条.
从我在网上发现的内容来看,这似乎很棘手.
这有什么解决方案吗?
干杯!
不,没有办法更改单个控件上显示的滚动条的宽度(尽管系统范围的设置会影响所有应用程序中的所有滚动条).
丑陋的事实是,低滚动条控制远比看起来复杂得多.基本上,FlowLayoutPanel上的滚动条是由Windows本身(而不是.NET Framework)绘制的,因为在幕后为控件设置了WS_HSCROLL和/或WS_VSCROLL窗口样式. FlowLayoutPanel不提供任何更改或修改这些内置滚动条绘制方式的工具.与WinForms中的其他更高级的修改不同,我们不能将这些消息发送到控件的窗口过程.更糟糕的是,滚动条是在FlowLayoutPanel的非客户区域中绘制的,这意味着我们不能仅仅覆盖其Paint事件并自己处理滚动条的绘制.
不幸的是,如果你真的想要自定义你的滚动条,你将不得不隐藏内置的滚动条并滚动自己的滚动条.然而,如果你想要的话,它并不像听起来那么困难. CodeProject上的This article提供了一个很好的演练,可以创建自己的可换肤滚动条作为用户控件,并将其用作您选择的容器控件的替代品.