.NET 2.0自定义滚动条控件

时间:2012-12-03 11:53:44

标签: .net

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

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

2 个答案:

答案 0 :(得分:2)

从我记忆中,做这样的事情的唯一方法是继承标准控件然后重写OnPaint()方法。

在.NET 2.0中,不可能以任何其他方式执行此操作。

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

希望这有帮助。

答案 1 :(得分: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);
    }
}

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