新手 有个软件需要显示多个信号的强度,想将ProgressBar竖起来显示,怎样操作?

解决方案 »

  1.   

    控件本身似乎没有这个功能,不过你可以自己GDI画一个,ProgressBar是一个很简单的控件了。
      

  2.   


    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing;namespace PicRank
    {
        public class mypBar : PictureBox
        {
            private int mbVal;        public int mVal
            {
                get { return mbVal; }
                set { mbVal = value; }
            }        private int mbMaxVal;        public int MaxVal
            {
                get { return mbMaxVal; }
                set { mbMaxVal = value; }
            }        protected override void OnPaint(PaintEventArgs pe)
            {
                int valueWidth = 73;
                if (MaxVal != 0) { valueWidth = mVal * 73 / MaxVal; }
                base.Size = new Size(75, 5);
                base.BackColor = Color.FromArgb(255, 218, 173);
                Pen pen = new Pen(Color.FromArgb(220, 107, 0));
                pe.Graphics.DrawRectangle(pen, 0, 0, 74, 4);
                SolidBrush bu = new SolidBrush(Color.FromArgb(255, 167, 83));
                pe.Graphics.FillRectangle(bu, 1, 1, valueWidth, 3);
                //base.OnPaint(pe);
            }
        }
    }
    这就是个简单的ProgressBar,横向的,你自己调整一下大小填充方向就是纵向的了。