我是C sharp的新手。我创建了一个垂直滚动条(VScrollBar)。我想改变滚动条的Backcolor的颜色。由于它是从Control继承的,当我改变颜色时它不会产生任何影响。 在InitializeComponents() - >
中this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
this.vScrollBar1.Location = new System.Drawing.Point(472, -41);
this.vScrollBar1.Name = "vScrollBar1";
this.vScrollBar1.Size = new System.Drawing.Size(17, 80);
this.vScrollBar1.TabIndex = 15;
this.panel1.Controls.Add(vScrollBar1);
在构造函数中 - >
this.vScrollBar1.BackColor= Color.Black; //<--here is the back color property
this.Invalidate();
任何建议?
答案 0 :(得分:1)
不像你想象的那么简单,抱歉:(
Backcolor属性来自哪里?
您必须了解System.Windows.Forms.VScrollBar继承自System.Windows.Forms.Control的System.Windows.Forms.ScrollBar,后者获得了Backcolor属性。
为什么不起作用?
System.Windows.Forms.ScrollBar只是Win32 API提供的控件的包装器。 不包括更改滚动条背景颜色。
怎么做?
基本上你必须从System.Windows.Forms.Control继承并创建自己的滚动条控件。
<强>文章:强> http://www.codeproject.com/Articles/41869/Custom-Drawn-Scrollbar
是的,这完全是人们喜欢WPF的原因。