zoukankan      html  css  js  c++  java
  • C# WinForm修改Panel边框颜色

     

    无法在属性面版里直接修改,可以在Paint事件里重画。

    private void panel1_Paint(object sender, PaintEventArgs e)
    {
        ControlPaint.DrawBorder(e.Graphics,
                                    this.panel1.ClientRectangle,
                                    Color.LightSeaGreen, //左边框
                                    1,
                                    ButtonBorderStyle.Solid,
                                    Color.LightSeaGreen, //上边框
                                    1,
                                    ButtonBorderStyle.Solid,
                                    Color.LightSeaGreen,//右边框
                                    1,
                                    ButtonBorderStyle.Solid,
                                    Color.LightSeaGreen,//下边框
                                    1,
                                    ButtonBorderStyle.Solid);
    }

     

    url:http://greatverve.cnblogs.com/archive/2011/07/21/panel-border-color.html
    附:C# RGB与16进制颜色转换方法

    #region [颜色:16进制转成RGB]
            /// <summary>
            /// [颜色:16进制转成RGB]
            /// </summary>
            /// <param name="strColor">设置16进制颜色 [返回RGB]</param>
            /// <returns></returns>
            public static System.Drawing.Color colorHx16toRGB(string strHxColor)
            {
                try
                {
                    if (strHxColor.Length == 0)
                    {//如果为空
                        return System.Drawing.Color.FromA#000000;//设为黑色
                    }
                    else
                    {//转换颜色
                        return System.Drawing.Color.FromArgb(System.Int32.Parse(strHxColor.Substring(1, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(3, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(5, 2), System.Globalization.NumberStyles.AllowHexSpecifier));
                    }
                }
                catch
                {//设为黑色
                    return System.Drawing.Color.FromA#000000;
                }
            }
            #endregion


    #region [颜色:RGB转成16进制]
            /// <summary>
            /// [颜色:RGB转成16进制]
            /// </summary>
            /// <param name="R">红 int</param>
            /// <param name="G">绿 int</param>
            /// <param name="B">蓝 int</param>
            /// <returns></returns>
            public static string colorRGBtoHx16(int R, int G, int B)
            {
                return System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(R, G, B));
            }
            #endregion

     

    又:

     

    private string ToHexColor(Color color)
            {
                string R = Convert.ToString(color.R, 16);
                if (R == "0")
                    R = "00";
                string G = Convert.ToString(color.G, 16);
                if (G == "0")
                    G = "00";
                string B = Convert.ToString(color.B, 16);
                if (B == "0")
                    B = "00";
                string HexColor = "#" + R + G + B;
                return HexColor;
            }

        public string ForeColor

        {

            set

            {

                 //value = #ab364f

                int r = Convert.ToInt32("0x" + value.Substring(1, 2),16);

                int g = Convert.ToInt32("0x" + value.Substring(3, 2),16);

                int b = Convert.ToInt32("0x" + value.Substring(5, 2),16);

                txtUrl.ForeColor = System.Drawing.Color.FromArgb(r,g,b);

            }

     }

    利用递增的数字返回循环渐变的颜色的js代码

    function gCL(i){ 
    var f=parseInt((i%15)/5); 
    i=i%15%5; 
    switch(f){ 
    case 0:return "#"+cS2(255-i*51)+cS2(i*51)+"00"; 
    case 1:return "#00"+cS2(255-i*51)+cS2(i*51); 
    case 2:return "#"+cS2(i*51)+"00"+cS2(255-i*51); 


    function cS2(i) { 
    var s=i.toString(16); 
    return ("00"+s).substr(s.length); 
    }

    使用gCL就可以利用递增的数字返回由红到绿到蓝的渐变颜色了。渐变效果如下,共15种颜色,循环渐变:

    http://kingoa.net/WEBPROGRAM/JAVASCRIPT/2010/0326/14021.html

     

    CSS颜色值的三种形式:名称、RGB、十六进制

    从理论上说,CSS可以处理的颜色数量大概是:16,777,216。够用了吧。如何表现这些颜色呢,主要是通过三种形式:

    1、名称 如:blue

    2、RGB 如:255,0,0

    3、十六进制 如:#ff6600

    如果我们要设置红色,可以是下面的形式:

    名称:red

    RGB:#ff0000

    RGB:rgb(100%,0%,0%)

    十六进制:#ff0000

    十六进制:#f00

    CSS有十七个预先确定的颜色,它们是:

    aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, orange, purple, red, silver, teal, white, yellow.

    (注意:transparent 透明 也是一个正确的值。)

    rgb的三个值都是从0到255,0是最低级,255是最高级,这些值同样可以是百分比。

    十六进制三或六个数字长度前面带上#字符,三个长度是六个的压缩形式(短16进制),比如#00f是#0000ff的压缩,#c30是#cc3300。三位数很好理解,像rgb,第一个是红色,第二个是绿色,第三个蓝色。但六位数可以实现更多的颜色控制。

    由于web安全色只使用了00,33,66,99,cc,ff,所以我们可以使用短16进制颜色表示web安全色,0,3,6,9,c,f和长16进制可以使用的颜色数值是等价的,一共是6×6×6=216种。最初的计算机(8位计算机)上只能定义256种颜色,所以当时Windows和Macintosh运行于256色,在Netscape Navigator和Microsoft Internet Explorer上共有的颜色就被称为Web安全色.如果颜色不在这216种颜色的范围内,计算机就有可能在显示颜色的时候产生抖动现象。(抖动就是由于操作系统为了尽可能的表现某种颜色,混合两种颜色而产生的)

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 P0404
    Java实现 蓝桥杯VIP 算法提高 P0404
    Java实现 蓝桥杯VIP 算法提高 P0404
    Java实现 蓝桥杯VIP 算法提高 P0404
    Java实现 蓝桥杯VIP 算法提高 P0404
    Java实现 蓝桥杯VIP 算法训练 排列问题
    Java实现 蓝桥杯VIP 算法训练 排列问题
    Java实现 蓝桥杯VIP 算法训练 排列问题
    Java实现 蓝桥杯VIP 算法训练 排列问题
    关于模态/非模态对话框不响应菜单的UPDATE_COMMAND_UI消息(对对WM_INITMENUPOPUP消息的处理)
  • 原文地址:https://www.cnblogs.com/kingangWang/p/2466456.html
Copyright © 2011-2022 走看看