我在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. 在Linux中設置閾值進程數
- 2. 如何在android中設置進度條?
- 3. 如何設置進度條
- 4. 如何設置進度條
- 5. 如何設置進度條
- 6. 如何設置進度條?
- 7. 如何在windows進度條中設置顏色漸變?
- 8. 設置進度,進度條
- 9. 如何在AjaxUpload上設置進度條?
- 10. 如何在Android中設置進度條的最大值
- 11. 如何在jQuery中動態設置進度條值?
- 12. 如何設置這樣的進度條,並在java中設置它的進度
- 13. 如何在Windows窗體TextBox控件中設置TAB寬度?
- 14. 監控AppDomain資源和設置閾值
- 15. Laravel 5.1 - 如何設置進度條
- 16. 如何設置進度條背景
- 17. 設置進度條的固定值
- 18. 如何設置UITapGestureRecognizer的超時閾值?
- 19. 如何爲我的EditText設置閾值?
- 20. 如何設置在Matlab中檢測樹的閾值的值?
- 21. tesseract ChoiceIterator置信度閾值
- 22. 在OpenCV中設置閾值RGB圖像
- 23. 設置HTML進度條
- 24. Flex進度條設置
- 25. 設置AJAX進度條
- 26. 如何使用getRepeaterItem設置進度條的進度?
- 27. 如何使用jsp設置進度條值
- 28. 如何在swift中爲進度條設置進度圖像和跟蹤圖像?
- 29. 如何正確設置進度值?
- 30. 如何處置進度條?
你的意思是財產以後像我們在我的電腦資源管理器中查看驅動器卷的 – 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