PDA

View Full Version : تغییر رنگ پس زمینه همه فرم ها با یک کد!



salehsam
دوشنبه 11 آذر 1392, 07:57 صبح
سلام دوستان
آیا امکانش هست که با یک کد رنگ پس زمینه همه فرم ها رو عوض کنیم
یعنی دونه دونه توی فرم لود ننویسیم که رنگت این باشه؟
ممنون

مهرداد صفا
دوشنبه 11 آذر 1392, 08:41 صبح
سلام.
یک راه دسترسی به فرم در صورت باز بودن با استفاده از خصوصیت Application.OpenForms (http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k%28SYSTEM.WINDOWS.FORMS.APPLICATION.OPENFORMS%2 9;k%28VS.OBJECTBROWSER%29;k%28TargetFrameworkMonik er-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22%29&rd=true) است ولی در کل برای این کار در صورت امکان استفاده از وراثت توصیه می شود.

salehsam
دوشنبه 11 آذر 1392, 09:06 صبح
منون میشم در مورد وراثت توضیح بدین

Kubuntu
دوشنبه 11 آذر 1392, 12:15 عصر
1- یک کلاس جدید ایجاد می کنی که مثل زیر باشه:

public class FormProperties: System.Windows.Forms.Form
{

public FormProperties()
{
//meghdar dehiye properties
this.BackColor = System.Drawing.Color.Red;
}

public override System.Drawing.Color BackColor
{
get
{
return base.BackColor;
}
set
{
base.BackColor = value ;
}
}
}

2- همه فرمهات رو بصورت زیر تغییر بده:

public partial class Form1 : FormProperties
{

}

مهرداد جان اگه ایده شما غیر از این یا بهینه تره بفرمایید

salehsam
دوشنبه 11 آذر 1392, 20:41 عصر
مهرداد جان نظری ندارین؟

مهرداد صفا
سه شنبه 12 آذر 1392, 09:31 صبح
مهرداد جان نظری ندارین؟

دقیقا منظورم همین روشی بود که جناب Qubuntu (پیام های دریافت شده - برنامه نویس - Mozilla Firefox) عزیز عنوان کردند، فقط البته نیازی به override کردن BackColor نیست. احیانا اگر مشکلی در پیاده سازیش داشتید بفرمایید.

salehsam
سه شنبه 12 آذر 1392, 09:51 صبح
ممنون
این کد رو اجرا کردم مشکلی نداره
چجوری override نکنم؟
یعنی قسمت دوم کد رو ننویسم؟
فقط با این کد میشه رنگ تکست باکس و ... هم عوض کرد؟

مهرداد صفا
جمعه 15 آذر 1392, 22:03 عصر
ممنون
این کد رو اجرا کردم مشکلی نداره
چجوری override نکنم؟
یعنی قسمت دوم کد رو ننویسم؟

خیر. فقط در این مورد به این قسمت از کد نیازی نیست:


public override System.Drawing.Color BackColor
{
get
{
return base.BackColor;
}
set
{
base.BackColor = value ;
}
}



فقط با این کد میشه رنگ تکست باکس و ... هم عوض کرد؟

کاربرد وراثت فراتر از اینهاست و در واقع جزئی از برنامه نویسی شی گرا محسوب می شود و البته در مورد تغییرات عمومی روی کنترلها هم میتوانید از وراثت استفاده کنید.

مهرداد صفا
جمعه 15 آذر 1392, 22:03 عصر
ممنون
این کد رو اجرا کردم مشکلی نداره
چجوری override نکنم؟
یعنی قسمت دوم کد رو ننویسم؟

خیر. فقط در این مورد به این قسمت از کد نیازی نیست:


public override System.Drawing.Color BackColor
{
get
{
return base.BackColor;
}
set
{
base.BackColor = value ;
}
}



فقط با این کد میشه رنگ تکست باکس و ... هم عوض کرد؟

کاربرد وراثت فراتر از اینهاست و در واقع جزئی از برنامه نویسی شی گرا محسوب می شود و البته در مورد تغییرات عمومی روی کنترلها هم میتوانید از وراثت استفاده کنید.

salehsam
شنبه 16 آذر 1392, 00:05 صبح
میتونین برای تغییر پس زمینه تکست باکس هم کد بزارین؟