最近在摸索用C#写一个简单的视觉检测的界面。在显示检测结果图片时,如果是pass,外框用绿色;如果是NG,外框用红色。在网上找了很久,有一些解决方法,但都比较复杂。看到picturebox有一个BackColor属性,以胶Padding属性,是否可以结合起来,改变外框。居然做成了,不但克服了用比例计算方法的繁琐,也避免了一些方法在窗口改变时外框变化不同步的问题。
实现方法:
选中picturebox1控件,在属性栏中找到padding属性,将All选项的值改为5,这个值可以根据需要随意改,它就是外框的宽度。
在选中picturebox1时,在属性项中找到“外观”中的BackColor项,设置初始的外框颜色。前景色或图像可以任意操作。
接下来就是在程序中需要改变边框颜色的地方,加上下面的语句,就可以实现边框颜色的改变了。
pictureBox2.BackColor = Color.Red;
可以设置一个变量记录边框的颜色值,根据记录的变量值和需要改变成不同的颜色。
最后吐槽一下C#,它可是公认的最友好的图形界面开发平台,与Python比起来,可用性差得远了。这种常用的控件,居然连外框的属性都没有,并且这么多年升级了这么多版本也没有增加。闭源就是进步慢。