C# [C#]Aiuto cambio colore e grafica ProgressBar

Stato
Discussione chiusa ad ulteriori risposte.

djmandrukkj

Bannato
22 Novembre 2009
64
14
0
74
Salve a tutti ragazzi ho cercato già nel forum una guida su come cambiare colore e grafica della ProgressBar ma non ho trovato nulla a riguardo, qualcuno di voi sa aiutarmi?
 
Caio,
Ho buttato giù velocemente questo codice
è ancora da perfezionare, spero di esserti stato d'aiuto .

Codice:
public partial class Form1 : Form    {
       
        public Form1()
        {
            InitializeComponent();
           
        }




        int increment;
        private void button1_Click(object sender, EventArgs e)
        {
            increment  += 4; //volore di incremento
                     //sfondo  //bordo       X  Y LARGHEZ H  BORD //INCREMENTO
            progress(Color.Red, Color.Black, 10, 10, 100, 20, 2, increment);
        }     


        /// <summary>
        /// Creazione progress bar personallizata
        /// </summary>
        /// <param name="sfondo">Colore delle sfondo</param>
        /// <param name="bordo">Colore del bordo</param>
        /// <param name="x">Posizione X</param>
        /// <param name="y">Posizione Y</param>
        /// <param name="larghezza">Larghezza barra</param>
        /// <param name="altezza">Altezza Barra</param>
        /// <param name="distanzabordo">Distanza dal B</param>
        /// <param name="value">Valore progressivo della barra</param>
        Graphics bar;
        Rectangle recbar;
        public void progress(Color sfondo, Color bordo, int x , int y, int larghezza, int altezza, int distanzabordo,int value)
        {
            if (value <= larghezza)
            {
                recbar = new Rectangle(x, y, larghezza, altezza);
                bar = this.CreateGraphics();
                bar.DrawRectangle(new Pen(bordo), recbar);//disegno bordo
                recbar.Width = (int)(recbar.Width * ((double)value / larghezza)) - distanzabordo;//calcolo valore
                //stampa barra
                bar.FillRectangle(new SolidBrush(sfondo), x + distanzabordo, y + distanzabordo, recbar.Width, recbar.Height - (distanzabordo * 2));
            }
        }


    }

TmPr9Vc.png


Risultato:
WDbjqPM.png


z4DDfX6.png
 
Ultima modifica:
grazie mille :) scusa il ritardo della risposta ma stavo in vacanza

ho risolto cosi come hai detto tu ti ringranzio ancora, si può chiudere post
 
Stato
Discussione chiusa ad ulteriori risposte.