我在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