PDA

View Full Version : سوال: یک سوال مبتدی داشتم در رابطه با تغییر رنک کل فرم های برنامه



c#sajad
شنبه 09 آذر 1392, 23:51 عصر
سلام یک قطه کد نیاز داشتم واسه تغییر رنگ تمام فرم های برنامه ام .
مثلا در فرم اول ام تغییر رنگ دادم مثلا رنگ x
تمامی فرم هام back color =x بشه

majid_i68
یک شنبه 10 آذر 1392, 07:53 صبح
بهترین روش این است که توی setting پروزت یه متغیر از توع color تعریف کنی و هنگام لود فرم یا هنگامی که رنگ توسط کاربر تغییر کرد .. رنگ فرم رو توی متغیر که در setting تعریف کردی قرار بده .. بعد توی رویداد فرم لود فرم های دیگه ..یا هر رویدادی که خودت نیاز داشتی ... رنگ فرم رو برار با متغیر که در setting داری قرار بده... که مقدار آن همان مقدار رنگ فرم اولی هست


مثلا من در setting یه متغیر تعریف میکنم به اسم clr

بعد در رویداد فرم 1 میگم که ..رنگ فرم در clr ذخیره بشه

private void Form1_Load(object sender, EventArgs e)
{
WindowsFormsApplication6.Properties.Settings.Defau lt.clr = this.BackColor;
}

بعد در رویداد فرم لودت بقیه فرم هام میگم که ..رنگ فرم از متغیر clr گرفته بشه.. که همیشه مقدار رنگ فرم یک درونش قرار میگیره



private void Form3_Load(object sender, EventArgs e)
{
this.BackColor = WindowsFormsApplication6.Properties.Settings.Defau lt.clr;
}

با تنظیمات settting آشنا بشو .. میشگه باهاش کارهای جالبی کرد..

salehsam
یک شنبه 10 آذر 1392, 13:14 عصر
چجوری این رنگ رو تو دیتابیس ذخیره کنم تا هر کاربر هر کجا وارد شد همون رنگ دلخواهشو ببینه؟

salehsam
یک شنبه 10 آذر 1392, 13:57 عصر
تو سایت های خارجی سرچ کردم جواب رو یافتم!
توی فرم انتخاب رنگ این کد رو فرار بدین


private void button2_Click(object sender, EventArgs e)
{
ColorDialog col = new ColorDialog();

col.ShowDialog();

string color = col.Color.ToArgb().ToString("x");

color = color.Substring(2, 6);

color = "#" + color;

this.BackColor = System.Drawing.ColorTranslator.FromHtml(color);



form_backcolourEntities db = new form_backcolourEntities();
tbl_back tbl = new tbl_back
{
clr = color
};
db.tbl_back.Add(tbl);
db.SaveChanges();
MessageBox.Show("ok");
}

توی رویداد لود فرم ها این کد رو قرار بدین


private void Form2_Load(object sender, EventArgs e)
{

form_backcolourEntities db = new form_backcolourEntities();
var q = from u in db.tbl_back
where (u.id == 6)
select (u.clr);
string cl = "";
foreach (var p in q)
{
cl = p;
}
this.BackColor = System.Drawing.ColorTranslator.FromHtml(cl);
}
}

توی قسمت where (u.id == 6)
رنگ رو مطابق با آِی دی قار بدین