PDA

View Full Version : سوال: تغییر رنگ progressbar در حالت marquee



Leyla2011
چهارشنبه 11 آبان 1390, 12:14 عصر
سلام به دوستان من در ابتدای فرم از یک اسپلش فرم استفاده میکنم که توی آن از یک progressbar بصورتmarquee استفاده میکنم میدونید که در این حالت progressbarپر نمیشه فقط حالت انتظار داره حالا سوالم اینجاست که میخواهم رنگ progressbarاز حالت پیش فرض که سبز هست به یه رنگ دیگه تغییر کنه . از colorprogressbar هم استفاده کردم اما مثل progressbar نیست که بتونم style آنرا به marquee تبدیل کنم . کسی میتونه راهنمایی کنه

Leyla2011
پنج شنبه 12 آبان 1390, 07:27 صبح
یعنی کسی نیست جوابمون را بده

مدیران محترم شما یه کاری بکنید لطفا

Directx
پنج شنبه 12 آبان 1390, 10:50 صبح
سلام یه کلاس به اسم NewProgressBar تعریف کن و از این کد می تونی استفاده کنید (فقط کافیه یکم سرچ کنید) البته زیاد جالب نیست ولی فک کنم به دردتون بخوره

public class NewProgressBar : ProgressBar
{
public NewProgressBar()
{
this.SetStyle(ControlStyles.UserPaint, true);
}

protected override void OnPaint(PaintEventArgs e)
{
Rectangle rec = e.ClipRectangle;

rec.Width = (int)(rec.Width * ((double)Value / Maximum)) - 4;
if(ProgressBarRenderer.IsSupported)
ProgressBarRenderer.DrawHorizontalBar(e.Graphics, e.ClipRectangle);
rec.Height = rec.Height - 4;
e.Graphics.FillRectangle(Brushes.Red, 2, 2, rec.Width, rec.Height);
}
}