1

我有带有滚动条控件的 WinForms 应用程序,我需要更改这些scrollbars.

除了从头开始创建滚动条控件之外,还有什么方法可以做到吗?我不能使用 WPF,因为目标是 .NET 2.0。

4

2 回答 2

2

据我所知,做这样的事情的唯一方法是从标准控件继承,然后覆盖 OnPaint() 方法。

在 .NET 2.0 中,不可能以任何其他方式做到这一点。

如果您改变主意并决定采用自定义控制路径,这里是 CodeProject > http://www.codeproject.com/Articles/14801/How-to-skin-scrollbars-for-Panels-in的一个很好的例子-C

希望这可以帮助。

于 2012-12-03T12:02:12.483 回答
1
public class MyScrollBar : VScrollBar
{
    public MyScrollBar()
    {
        SetStyle(ControlStyles.UserPaint, true);
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        e.Graphics.DrawRectangle(SystemPens.ControlDark, e.ClipRectangle.Left, e.ClipRectangle.Top, e.ClipRectangle.Width - 1, e.ClipRectangle.Height - 1);
    }
}

一种方法,但是可能很难保持滚动条轨道和按钮的正确位置。无论如何,你可以从这里开始。

于 2012-12-03T12:04:30.443 回答