PDA

View Full Version : سوال: تغییر رنگ فونت label



Apache66
شنبه 06 مهر 1392, 16:53 عصر
سلام
نیاز دارم که در برنامه ام رنگ فونت نوشته هام که در label قرار داره تغییر بدهم
تغییر رو هم در دیتابیسم ذخیره میکنم
مشکل من اینجاست که رنگی که از colorDialog میخونم اگه رنگ های اصلی باشه نامش ذخیره میشه(Red) اگه رنگ های دیگه باشه کد رنگ(ffff8000) ذخیره میشه
که موقع خوندن رنگ برام مشکل ساز شده
چطوری این مشکل رو حل کنم؟
مرسی

Kubuntu
شنبه 06 مهر 1392, 17:03 عصر
کد این تاپیک رو اجرا بگیر. امیدوارم ک کمکن کنه
convert Hex to Color Name (http://stackoverflow.com/questions/7791710/convert-hex-code-to-color-name)

Apache66
شنبه 06 مهر 1392, 22:02 عصر
کمکم نکرد !

mousa1992
شنبه 06 مهر 1392, 22:20 عصر
Color.FromArgb(255,0,0,0);
با استفاده از متد FromArgb میتونی مولفه های رنگ رو پاس بدی و color رو بگیری و فقط میمونه تبدیل این اعداد هگز(ffff8000) به دسیمال

Apache66
شنبه 13 مهر 1392, 13:22 عصر
دوستان من مقدار رنگ رو میخوام توی دیتابیسم که sql هست ذخیره کنم
یه فیلد بنام color دارم که نوعش هم nvarchar(MAX) انتخاب کردم
حالا وقتی میخوام فونت رو از دیتابیس بخونم و روی لیبل اعمالش کنم رنگ مورد نظر اعمال نمیشه!
this.lblname.ForeColor = Color.FromName(dataGridView1.SelectedRows[0].Cells[3].Value.ToString());

Mahmoud.Afrad
شنبه 13 مهر 1392, 16:49 عصر
ستون color در دیتابیس رو از نوع int بگیر. برای ذخیره رنگ هم کافیه رنگ را به int معادلش تبدیل و ذخیره کنی:

ColorDialog cd = new ColorDialog();
if (cd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
this.BackColor = cd.Color;

int colorInt = cd.Color.ToArgb();
// store colorInt in database here
}


موقع خواندن از دیتابیس بعد از بدست آوردن عدد ، توسط متد FromArgb میتونی به رنگ برسی:

// get int from database into colorNo
//int colorNo = ...
this.BackColor = Color.FromArgb(colorNo);