我在winform中使用windows進度條。它的最小值是20,最大值是120.我必須在進度條中設置value = 60的閾值,這樣如果值保持低於60,那麼進度條顏色將是紅色,如果值大於60,則進度條顏色應該是綠色。 最重要的是,我想要將此閾值顯示爲應該可見的任何可能是進度條綠色或紅色顏色的progessbar中的一行。 有沒有人有想法?您的幫助將不勝感激。如何在windows進度條控件中設置閾值?
回答
你可以試試這個(但是你不會得到動畫)。
它是添加了閾值功能的this answer的修改版本。
public class NewProgressBar : ProgressBar
{
//This property takes the Threshold.
public int Threshold{ get; set; }
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;
//Check value is greater that Threshold
if(this.Value > Threshold)
{
e.Graphics.FillRectangle(Brushes.Green, 2, 2, rec.Width, rec.Height);
}
else
{
e.Graphics.FillRectangle(Brushes.Red, 2, 2, rec.Width, rec.Height);
}
//This line should do that
e.Graphics.DrawLine(Pens.Black,Threshold-1,2,Threshold-1,rec.Height);
}
}
現在你可以使用這樣的:
NewProgressBar p = new NewProgressBar();
//Set properties
//Set threshold
p.Threshold = 60;
謝謝...爲你的努力,但我需要的是在門檻上它也顯示了值60的行,應該是可見的任何b e進度條的顏色..紅色或綠色... – 2011-03-05 10:19:40
@Sachin Patil:更新我的代碼:) – 2011-03-05 10:35:20
@ Shekhar_Pro:不工作..在DrawLine方法中x和y協調值的一些問題..仍然感謝。 。 – 2011-03-05 11:08:57
使用默認的ProgressBar實現,你將無法完全實現你想要的。你需要創建一個自定義控件。
如果您只想更改顏色,可以通過在百分比值更改時更改ForeColor屬性來實現此目的。
直到你有視覺效果才能工作啓用.. – 2011-03-05 09:47:16
是的,我知道... – 2011-03-05 09:51:12
- 1. 如何在android中設置進度條?
- 2. 如何設置進度條
- 3. 如何在windows進度條中設置顏色漸變?
- 4. 設置進度,進度條
- 5. 如何在jQuery中動態設置進度條值?
- 6. 如何設置這樣的進度條,並在java中設置它的進度
- 7. 如何在Windows窗體TextBox控件中設置TAB寬度?
- 8. 監控AppDomain資源和設置閾值
- 9. Laravel 5.1 - 如何設置進度條
- 10. 如何設置在Matlab中檢測樹的閾值的值?
- 11. tesseract ChoiceIterator置信度閾值
- 12. 在OpenCV中設置閾值RGB圖像
- 13. Flex進度條設置
- 14. 設置AJAX進度條
- 15. 如何使用getRepeaterItem設置進度條的進度?
- 16. 如何使用jsp設置進度條值
- 17. 如何處置進度條?
- 18. 如何在JavaScript中爲我的進度條設置百分比?
- 19. 如何在Android中設置自定義進度條
- 20. 如何在android中設置天文臺的進度條?
- 21. 如何在滑塊中設置動畫進度條
- 22. 如何在模擬器中設置進度條
- 23. 如何在RelativeLayout中設置ContentView? (進度條)
- 24. 如何在WPF中的控件上顯示進度條
- 25. windows phone中的進度條
- 26. 在決策樹上設置閾值?
- 27. log4j屬性文件 - 如何設置套接字appender的閾值?
- 28. 如何在角度2中設置ngStyle如果條件匹配
- 29. 如何設置顯示install4j中安裝/更新進度的進度條?
- 30. 如何在Windows窗體應用程序中設置進度條任何網站進程
你的意思是財產以後像我們在我的電腦資源管理器中查看驅動器卷的 – 2011-03-05 09:36:12
可能重複[如何改變進度條的顏色在C#.NET 3.5?](http://stackoverflow.com/questions/778678/how-to-change-the-color-of-progressbar-in-c-net-3-5) – 2011-03-05 09:46:31