PDA

View Full Version : حرفه ای: تغییر رنگ پروگرس بار progress bar



User_Soual
سه شنبه 11 دی 1397, 21:25 عصر
سلام به اساتید، خسته نباشید
ایا راهی، روشی، چیزی هست که بشه رنگ پروگرس بار رو تو سی شارپ عوض کرد
اگه کامپوننتی هم هست بگید ولی بهتره بدون کامپوننت باشه
ممنون

danialafshari
چهارشنبه 12 دی 1397, 19:36 عصر
با سلام
میتونید این کلاس رو به پروژتون اضافه کنید

public class NewProgressBar : System.Windows.Forms.ProgressBar
{
public NewProgressBar()
{
this.SetStyle(System.Windows.Forms.ControlStyles.U serPaint, true);
}


protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
System.Drawing.Rectangle rec = e.ClipRectangle;


rec.Width = (int)(rec.Width * ((double)Value / Maximum)) - 4;
if (System.Windows.Forms.ProgressBarRenderer.IsSuppor ted)
System.Windows.Forms.ProgressBarRenderer.DrawHoriz ontalBar(e.Graphics, e.ClipRectangle);
rec.Height = rec.Height - 4;
e.Graphics.FillRectangle(System.Drawing.Brushes.Re d, 2, 2, rec.Width, rec.Height);
}
}

https://stackoverflow.com/questions/778678/how-to-change-the-color-of-progressbar-in-c-sharp-net-3-5
در ضمن میتونید از کامپوننت هایی نظیر devComponent - telerik - devExpress استفاده کنید که ظاهر متفاوتی هم دارند

برای استفاده از کلاس، یک New Class ایجاد کنید و نامش رو NewProgressBar بگذارید، سپس پروژه رو Build کنید و در ابتدای Toolbox اضافه میشود و میتونید استفاده کنید
موفق باشید