我现在在WINFORM中使用COLOREDIT控件
现在我要把COLOREDIT里面选中的颜色存储到数据库,数据类型应该选择什么刚开始我用NVARCHAR(100),现在换成INT程序中要将COLOREDIT的值转换成STRING类型报错,我应该怎么做那

解决方案 »

  1.   

    可以尝试转化成long型,因为颜色值本身是十六进制值#FFFFFF,
      

  2.   

    RGB要保存三个值
    每个都用int型
      

  3.   

    copico(苦涩(一路向北))你意思,我存一个颜色值,还要设置三个字段?
      

  4.   

    Color.FromArgb(int,int,int)是需要三个字段呀
    你用什么函数来显示#FFFFFF这样的一个颜色值?
      

  5.   

    copico(苦涩(一路向北))  大哥啊,有没有其他办法, 一个字段,就搞定多好,我好存好几个颜色值啊
      

  6.   

    用string 应该可以吧 , 我以前把颜色写到XML里面也是这么写的 
    把颜色的RGB值以string 写到数据源
    读出来的时候用ColorConverter
      

  7.   

    这个是我写的东东 ,希望对你有帮助,我用XML作数据源
    创建XML文件
    <?xml version="1.0" standalone="yes"?>
    <SaveColor>
      <Color></Color>
    </SaveColor>
    将颜色字符串写入文件
    System.Drawing.ColorConverter cc=new ColorConverter();
    DataSet ds=new DataSet();
    ds.ReadXml(@"D:\Program\WindowsApplication1\WindowsApplication1\XMLFile1.xml");
    ds.Tables[0].Rows[0]["Color"]=cc.ConvertToString(this.panel1.BackColor);
    ds.WriteXml(@"D:\Program\WindowsApplication1\WindowsApplication1\XMLFile1.xml");
    文件写入后
    <?xml version="1.0" standalone="yes"?>
    <SaveColor>
      <Color>154, 121, 66</Color>
    </SaveColor>读取颜色值
    System.Drawing.ColorConverter cc=new ColorConverter();
    DataSet ds=new DataSet();
    ds.ReadXml(@"D:\Program\WindowsApplication1\WindowsApplication1\XMLFile1.xml");
    this.panel2.BackColor=(Color)cc.ConvertFromString(ds.Tables[0].Rows[0]["Color"].ToString());希望对你有用,仅供参考.
      

  8.   

    用ColorConverter的ConvertToString()方法把颜色转换成 RGB值字符串
    用ColorConverter的ConvertFromString()方法把RGB值字符转换成 颜色
      

  9.   

    you can use "Color.ToArgb" method to get an integal number.
      

  10.   

    我现在用一个coloredit来获得颜色值,显示的时候也是用COLOREDIT来显示,COLOREDIT的值该怎么绑定,它需要的是string ,还是int
      

  11.   

    long就可以了,数据库里是8byte的整数,Color.FromArgb(long)就可以转换成颜色值了
      

  12.   

    http://www.cambiaresearch.com/cambia3/snippets/csharp/conversions/HexStringToColor.aspx