2009-02-28 98 views
6

我正在C#中的winforms点唱机上工作。我想为音量控制设置一个垂直进度条。有谁知道这是怎么做到的吗?如何让C#中的winforms进度条垂直移动?

+0

请不要为此使用进度条;垂直轨迹栏是最合适的控制。进度条设计用于视觉输出,并且以这种方式滥用控件会导致难以使用的用户界面。 – Rob 2009-02-28 03:40:31

+0

这是一个很好的观点。我看到“垂直进度条”,并没有看其余的。进度条可能不是用来显示音量控制级别的东西。 – 2009-02-28 06:14:15

回答

17

我不知道,我会使用一个进度条控制体积,而是显示你可以使用一个用户绘制控件或者你可以只调整一个标签与背景色的音量(虽然最后一种方法虽然有点类似)

进度条并不是要输入,不管是什么方向。

如果你真的想控制的音量,考虑使用垂直滚动条,或与a vertical orientation跟踪栏。

对于它的价值,有a discussion on how to create a vertical progress bar on MSDN,他们建议这样做:

using System; 
using System.Windows.Forms; 

public class VerticalProgressBar : ProgressBar { 
    protected override CreateParams CreateParams { 
    get { 
     CreateParams cp = base.CreateParams; 
     cp.Style |= 0x04; 
     return cp; 
    } 
    } 
} 

这台PBS_VERTICAL标志Style

+0

+1:“在我的机器上工作” – Sung 2009-02-28 06:06:09

6

您必须为此使用ProgressBarRenderer。它记录在MSDN

该文档实际上显示了一个垂直ProgressBar的实现,所以它应该会让你更容易。 :-)