我在Windows窗体中使用Color Dialog允许用户更改颜色。我想将颜色输入存储在SQL数据库中,以便在用户再次登录时可用。我还包括了“BackColor”#39;在SQL的用户表中,但不知道下一步该做什么。这是我的第一个项目,我将不胜感激任何帮助。提前致谢! 我的C#代码段 -
private void ChangeBackColor()
{
ColorDialog myDialog = new ColorDialog();
myDialog.ShowDialog();
string color = myDialog.Color.ToArgb().ToString("x");
color = color.Substring(2, 6);
color = "#" + color;
lblBackColor.Text = color;
Color color2 = System.Drawing.ColorTranslator.FromHtml(color);
this.BackColor = color2;
}
private void btnChangeBackColor_Click(object sender, EventArgs e)
{
ChangeBackColor();
}
答案 0 :(得分:3)
只需在数据库中创建一个int
类型字段,并以整数类型存储该颜色。
例如
int iColor = Color.Blue.ToArgb();
//Store this integer value to database
//Then retrieve that int value from database and convert it to color type
//by using FromArgb() method.
Color myColor = Color.FromArgb(iColor);
///To store value in database
Try
{
SqlCommand Cmd = Connection.CreateCommand();
Cmd.CommandText = "Update TableName Set backColor=@backColor Where Code=@Code";
Cmd.Parameters.Add("@backColor", SqlDBType.Int).Value = this.BackColor.ToArgb();
Cmd.Parameters.Add("@Code", SqlDBType.Int).Value = UserCode;
Cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
Messagebox.Show(ex.Message);
}