Как сделать так, чтобы индикатор прогресса winforms перемещался вертикально в C #? - PullRequest
6 голосов
/ 28 февраля 2009

Я работаю над WinForms Jukebox.
Я хотел бы иметь вертикальный ProgressBar для регулировки громкости.

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

18 голосов
/ 28 февраля 2009

Я не знаю, что бы использовать индикатор выполнения для управления громкостью, но для отображения уровня громкости вы можете использовать нарисованный пользователем элемент управления или вы можете просто изменить размер метки с помощью цвета фона (хотя последний метод довольно глупый)

Индикатор выполнения не предназначен для ввода, независимо от ориентации.

Если вы действительно хотите управлять громкостью, рассмотрите возможность использования вертикальной полосы прокрутки или трекбара с вертикальной ориентацией .

Что бы это ни стоило, обсуждают, как создать вертикальный индикатор выполнения на 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.

6 голосов
/ 28 февраля 2009

Для этого вы должны использовать ProgressBarRenderer. Это задокументировано в MSDN

Документация фактически показывает реализацию вертикальной панели ProgressBar, поэтому она должна облегчить вам задачу. : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...