PDA

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



once4ever
سه شنبه 01 خرداد 1386, 16:13 عصر
چجوری میشه خاصیت تغییر فونت به برنامه اظافه کرد
بطوریکه با انتخاب کردن یک فونت توسط کاربر, تعداد زیادی از کنترلهای برنامه با اون فونت عمل کنند

choobin84
سه شنبه 01 خرداد 1386, 17:12 عصر
با وی بی 3
و سی شارپ 4

once4ever
سه شنبه 01 خرداد 1386, 17:34 عصر
خیلی ممنون choobin84
اما تو یک سیستم که 20تا فرم داره و تازه بعضی از کنترلهای هر فرمی باید تغییر فونت بدهند, اینجوری عملی هست؟
فکر کنم یه روش اساسی تر! احتیاج داره

choobin84
سه شنبه 01 خرداد 1386, 17:42 عصر
خیلی ممنون choobin84
اما تو یک سیستم که 20تا فرم داره و تازه بعضی از کنترلهای هر فرمی باید تغییر فونت بدهند, اینجوری عملی هست؟
فکر کنم یه روش اساسی تر! احتیاج داره

دستوری که در حلقه for قرار گرفته برای صرفه جویی در نوشتن نام تمام کنترل ها در فرمه. برای اینکه می تونه تمام کنترلهار رو با هم تغییر فونت بده.
اگر فقط کنترل های خاصی را می خواهید تغییر فونت بدید باید نام تک تک آنها را بنویسید .
textbox1.font=fontdialog1.font;
textbox2.font=fontdialog1.font;
checkbox1.font=fontdialog1.font;
l...
و الی آخر
چون کد نویسی اینجوری خیلی زیاد و خسته کننده اس من از حلقه for استفاده کردم.
برای اینکه برنامه برای تمام فرم ها مورد استفاده قرار بگیره ، باید یه کلاس بسازید و در هر فرم اونو صدا بزنید.

Alireza_Salehi
سه شنبه 01 خرداد 1386, 18:50 عصر
اگر در 2005 کار میکنید خیلی راحت با Application Settings می تونید با حداقل کد نویسی و برای n تا فرم این کار رو انجام بدید!

فقط کافیه یک بار برای همیشه در فایل Setting برنامه یک کلید برای فونت بسازید و بعد خاصیت Font همه کنترل ها رو در پنجره Properties و در خاصیت َApplicationSettings به این کلید وصل کنید. به همین راحتی ، با عوض کردن مقدار این خاصیت فونت همه کنترل ها عوض میشه.

قبلا بحث شده، جستجو کنید.مثلا:
http://www.barnamenevis.org/forum/showthread.php?t=64245&highlight=setting
http://www.barnamenevis.org/forum/showthread.php?t=59219&highlight=my.settings

once4ever
سه شنبه 01 خرداد 1386, 19:32 عصر
ممنون
من این قضیه رو با لوکیشن انجام داده بودم اما اصلا حواسم نبود که فونتم داره!!!!

راستی این مدالتو میدی یه عکس باهاش بندازم ;)