Color.FromArgb()方法的重载及使用
Color.FromArgb()方法共有四种重载形式,MSDN上列出来这四种重载
方法的说明已足够解释各个参数的含义。
其中alpha分量值即透明度设置要比较注意:
Color.FromArgb (Int32, Int32, Int32)方法是没有设alpha值的,默认为255,即不透明。而在使用Color.FromArgb (Int32)方法时,alpha值是默认为0的,例16进制颜色码#dd2378,使用Color.FromArgb (0xdd2378)来定义颜色,则alpha值是默认为0,该颜色是全透明的,所以看不到该颜色。要想显示出该颜色,必须设置alpha值>0,如:Color.FromArgb (0x7fdd2378);此时颜色为半透明。当然也可以将alpha值设置为全不透,其值为0xffdd2378。
不过在使用该值时有些注意事项,因为0xffdd2378是无符号整型uint类型,而Color.FromArgb (Int32)的参数是int型,因此必须使用强制转化Color.FromArgb((int)0xffdd2378),不过即使这样,程序仍会报错,需要使用unchecked重写才能成功(unchecked 关键字用于取消整型算术运算和转换的溢出检查)。
我通过几句简单的代码来说明这个问题,代码如下:
button1.BackColor = Color.FromArgb(0xdd2378);
button2.BackColor = Color.FromArgb(0x7fdd2378);
unchecked //在后续的作用域范围内,取消整型算术运算和转换的溢出检查
{
button3.BackColor = Color.FromArgb((int)0xffdd2378);
}
如图所示,这是使用Color.FromArgb (Int32)方法设置按钮背景色时使用三个不同值的效果。其差别一目了然。
C#中的颜色对照表
使用方法:
Color c1 = Color.FromArgb(32,178,170); //此方法设置的颜色,其透明度属性alpha=255,完全不透明。
Color c2 = Color.FromKnownColor(KnownColor.LightSeaGreen);
Color c3 = System.Drawing.Color.Lime;
以下的颜色代码取自HTML规范,这些颜色的名称对应于KnownColor的属性。比如,你可以用以下代码来创建一个Color对象:
Color c = Color.FromKnownColor(KnownColor.colorname);
所有的colorname在后面的表格中一一列出,这些颜色对应的RGB值列在名字的后面,你可以使用FromArgb方法来创建Color对象。以下两行实际上创建了同一种颜色:文章来源:https://www.toymoban.com/news/detail-436485.html
Color c1 = Color.FromArgb(32,178,170);
Color c2 = Color.FromKnownColor(KnownColor.LightSeaGreen);
文章来源地址https://www.toymoban.com/news/detail-436485.html
到了这里,关于C# 系统颜色大全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!