使用数据库存储和检索颜色,C#windows窗体应用程序

jel*_*llo 8 c# database color-picker colors winforms

我正在用C#制作一个Windows应用程序.我正在使用颜色对话框供用户选择颜色.我想将该颜色存储在数据库中,以后能够检索它,并能够在用户界面中使用该颜色.

你会对我建议什么方法?

Cha*_*ell 10

最好的方法是将十六进制颜色存储在数据库字段中nvarchar(7)...输入将#ffffff作为示例.varchar(6)也可以工作,并占用数据库中较少的空间.请务必#在代码中附加.

由于您需要将其转换为控件颜色或从控件颜色转换,您可以使用 System.Drawing.ColorTranslator.FromHtml(someHexColor)

// Hex to Control Color
var myColor = "#[color from database]";
var myControlColor = System.Drawing.ColorTranslator.FromHtml(myColor);

// Control Color to Hex
var colorBlue = System.Drawing.Color.Blue;
var hexBlue = System.Drawing.ColorTranslator.ToHtml(colorBlue);
Run Code Online (Sandbox Code Playgroud)

  • +1 - 虽然我相信`varchar`就足够了,因为你不担心RGB值的unicode. (2认同)

Jho*_*re- 5

我使用函数 System.Drawing.Color.FromArgb() 和 System.Drawing.Color.ToArgb() 将颜色从整数转换为整数,并将其保存为数据库中的 int