PDA

View Full Version : سوال: ایجاد تم



Sedaghat11021377
چهارشنبه 20 اردیبهشت 1396, 20:33 عصر
سلام... من یک برنامه نویس تازه کار هستم...دانشجوی کاردانی نرم افزار...
پروژه پایان ترم رو که تابستون میخوام ارائه بدم، از الان شروع کردم و مطمئناً، جاهایی به مشکل برمیخورم...
الان اولین مشکلی که دارم سر ایجاد تم رنگی برای برنامه هست که توسط کاربر ، تغییر میکنه.
قبل از توضیحات مشکلم باید چیزای دیگه ای رو توضیح بدم:
فرض کنید من دو تا فرم دارم، فرم1 و فرم2 و همچنین، فرم تنظیمات(که هنوز این فرم رو نساختم)...
توی فرم1، چندتا فیلد از جنس label هست که این فیلدا از DB مقدار میگیره و یکی از این فیلد ها، lblThemeCode هستش... زمانی که مقدار این فیلد، 1 باشه، برنامه از تم قرمز استفاده میکنه، یعنی بک گراند تمام فرم ها قرمزه، رنگ دکمه ها قرمزه و هرچیز رنگیه دیگه ای هم قرمزه...2 باشه ، برنامه از تم مشکی استفاده میکنه و همینجور، 3 تا تم دیگه هم برنامه داره... زمانی که کاربر توی فرم تنظیمات، میره و تم قرمز رو انتخاب میکنه، مقدار lblThemeCode در فرم1 ، برابر 1 میشه و بعد از فشردن دکمه ذخیره در فرم تنظیمات، عدد 1 در DB ذخیره میشه... حالا هر فرمی که لود میشه، به lblThemeCode در فرم1 رجوع میکنه و تم خودش رو تنظیم میکنه...فرض کنید که فرم2 یکی از این فرم هاست... حالا گیر من اینه، من دستور رو نوشتم و به lblThemeCode به صورت پیش فرض توی خود ویژوال استودیو، 1 میدم و اگه توی DB عدد 2 وجود داشته باشه ، خب مسلماً عدد 2 میاد توی lblThemeCode ، اما بازم تم 1 که کدش رو توی خود ویژوال استودیو وارد کردم رو فرم ها اعمال میشه، یعنی تم قرمز...اینم کدش، از ساختار Switch-Case استفاده کردم:
switch (MemSim.lblThemeCode.Text) {
case "1":
{
this.BackgroundImage = Properties.Resources.BG2;
break;
}
case "2":
{
this.BackgroundImage = Properties.Resources.BBG2;
break;
}
case "3":
{
this.BackgroundImage = Properties.Resources.BLBG2;
break;
}
case "4":
{
this.BackgroundImage = Properties.Resources.GBG2;
break;
}
case "5":
{
this.BackgroundImage = Properties.Resources.YBG2;
break;
}}