トラックバー(スライダー)だと、OrientationプロパティをVerticalにすればいいんだけど、
プログレスバーにも似たようなプロパティがあると思ったらないんだよね。
調べたところ、ProgressBarにはCreateParamsプロパティなるものが隠されているそうで。
で、ProgressBarクラスを継承して新しいクラスを作って、そいつの中でこのプロパティに
「縦に表示する」値を入れ込めばできるとのこと。
■CreateParams
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1338043878
■How do I make a winforms progress bar move vertically in C#? - Stack Overflow
http://stackoverflow.com/questions/597411/how-do-i-make-a-winforms-progress-bar-move-vertically-in-c
やってみたよ。
using System; using System.Windows.Forms; namespace WhatsThis { class VerticalProgressBar : ProgressBar { protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.Style |= 0x04; return cp; } } } }
やっぱり横に表示されちゃうよ( pq)シクシク
訂正:よく見たら、配置するときに横長になるだけであってゲージは縦に増えていくようになっていました~sorry^^;
で、2つ目に上げたURLのページを見たら、こんなことが書いてあった。
Please don't use a progress bar for this; a vertical trackbar is the most appropriate control. Progress bars are designed for visual output, and abusing controls in this manner leads to awkward user interfaces. ? Rob Feb 28 '09 at 3:40
そっかー、トラックバーを使えばいいのか~。
って結局それかい!
ってことはなにかい、ユーザさんが「どうしてもプログレスバーのデザインがいいんだ。」とか
言い出したら、カスタムコントロールでやるしかないってこと!?