在C#表单上显示红色/绿色指示灯的最快方法是什么?
我最初考虑使用单选按钮,但不确定如何设置点的颜色,只设置前景/背景文本。
然后我考虑画一个圆圈。无法找到工具箱形状,并且不想仅仅为了绘制圆圈而编写代码。
基本上,我正在编写一个特定于应用程序的监视器,如果某些服务关闭,或某些Web服务没有响应,则会显示红灯。
谢谢,
Neal Walters
这是我到目前为止使用方形按钮而不是圆形。代码正是我想要的,我只想要一个圆形。
if (allGood)
{
btnIISIndicator.BackColor = Color.Green;
}
else
{
btnIISIndicator.BackColor = Color.Red;
}
答案 0 :(得分:19)
这很简单,只需使用System.Windows.Shapes
表示对象,System.Windows.Media.Brushes
表示颜色。
对于圆圈,您可以执行以下操作:
System.Windows.Shapes.Ellipse circle = new System.Windows.Shapes.Ellipse();
circle.Height = 20; //or some size
circle.Width = 20; //height and width is the same for a circle
circle.Fill = System.Windows.Media.Brushes.Red;
然后你可以创建一个功能来检查红色和绿色。
此外,您还可以使用颜色的十六进制值:
circle.Fill = new System.Windows.Media.SolidColorBrush((Color)ColorConverter.ConvertFromString("#RRGGBB"));
答案 1 :(得分:17)
这种事情有一些优秀的图标和图形......这是一个链接here。还有更多免费或一些小额费用。
答案 2 :(得分:3)
我只需制作一个面板或PictureBox
并将背景图像设置为红色/绿色光。在PhotoShop / PaintShop / MS Paint中制作图像或从网上下载一些库存图像。
每当状态发生变化时,只需将图像交换出来。
答案 3 :(得分:2)
与手头的问题并不完全相关,但使用三元运算符可以缩短您的代码:
btnIISIndicator.BackColor = allGood ? Color.Green : Color.Red;
但这完全取决于您(或您组织)对可读性和可维护性的定义。
答案 4 :(得分:1)
我只是使用一些标准图片并将它们放在picturebox
中。在我们的应用程序上运行良好。
答案 5 :(得分:1)
创建红色和绿色位图,并使用PictureBox
控件显示位图。
答案 6 :(得分:1)
使用图片,但有一些很棒的图标here,所以你不必实际制作一些。
答案 7 :(得分:0)
试试这个对我有用。
SolidColorBrush solidColor=new SolidColorBrush();
solidColor.Color=Colors.Red;
ellips_circle.Fill=solidColor;