PDA

View Full Version : سوال: اعمال یک فونت بر روی تمامی فرم وکنترل ها



صباح فتحی
جمعه 19 شهریور 1389, 10:45 صبح
سلام
توی برنامه بهتره از فونت تاهوما واسه خاصیت تکست کنترل ها استفاده کنم!
یه روش میخاستم که تمام کنترل هام یک دفعه(تمامی فرم ها)فونتشون تاهوما شه!ممنون

shima2006
جمعه 19 شهریور 1389, 11:03 صبح
یک فرم پدر درست کن و خصوصیت فونت رو برای فرم پدر Tahoma کن و بعد هم Build
البته به شرطی جواب میده که قبلا خصوصیت فونت رو برای کنترل ها تنظیم نکرده باشی

صباح فتحی
جمعه 19 شهریور 1389, 11:20 صبح
ببخشید منظورتون ازفرم پدرچیه؟برنامه من که MIDI نیست

shima2006
جمعه 19 شهریور 1389, 11:25 صبح
یعنی چی که برنامت MIDI نیست؟؟؟

Parham.D
جمعه 19 شهریور 1389, 11:40 صبح
به هر حال اگر برای فرم برنامه تنظیمات فونت را قرار بدی و بعد کنترلها را اضافه کنی، فونت فرم به کنترلهای زیر مجموعه خودش یک جورایی به ارث میرسه.

صباح فتحی
جمعه 19 شهریور 1389, 11:54 صبح
خانم شیما اون مراحل ررو که گفتی یه بار انجام میدید؟ممنونم
--------------------

به هر حال اگر برای فرم برنامه تنظیمات فونت را قرار بدی و بعد کنترلها را اضافه کنی، فونت فرم به کنترلهای زیر مجموعه خودش یک جورایی به ارث میرسه.
اخه یک کامپوننت گرید وییو تلریک گذاشتم هر کاری میکنم فونتش عوض نمیشه:افسرده:

shima2006
جمعه 19 شهریور 1389, 12:04 عصر
1-تا حالا یک فرم درست کردی که بقیه فرم ها از اون ارث بری داشته باشند؟

2-یک فرم درست کن مثلا به اسم DataForm
حالا خصوصیت فونت رو برای این فرم تاهما کن
حالا برای اینکه بقیه فرم ها از این فرم ارث ببرند باید به این شکل نام کلاسشون رو تغییر بدی


public partial class NewForm : DataForm

که در حالت پیش فرض به این شکل هست :

public partial class NewForm : Form

در آخر هم Build می کنی

3- بازم بهت میگم این در صورت جواب میده که اول این کار رو انجام بدی و بعد کنترل هات رو روی فرم قرار بدی

احمد سامعی
جمعه 19 شهریور 1389, 12:07 عصر
یک روش دیگه برای ایجاد فرم پدر اینکه باید یک تمپلیت درست کنید که بعد می تونید در تمام برنامه هاتون از اون استفاده کنید و نیاز به ایجاد مجدد اون نیست به این شکل
1. یک پرژه ویندوزی جدید ایجاد کنید
2. خواص فرم تنظیم کنید به هر صورت که می خواهید
3. بعد از منوی File گذینه Export Template انتخاب کنید
4. حالا دو تا گذینه دارید
الف) Project template
ب) Item template

برای کاری که شما می خواهید انجام بدید از گذینه دوم استفاده کنید و بعد در پروژه اصلی زمانی که می خواهید یک فرم به برنامه اضافه کنید به جای فرم معمولی از چیزی که خودتون ساختید و تو لیست اضافه شده می تونید استفاده کنید

به همین سادگی کمتر از یک دقیقه زمان می بره

صباح فتحی
جمعه 19 شهریور 1389, 12:51 عصر
ممنون ازخانم شیما و آقای احمدسامعی..هردو روش خوب بود!
اما یه مشکل دارم!!
من از کامپوننت شرکت تلریک(grid view) استثفاده میکنم هرکار ی کردم فونتش تاهوما نشد

shima2006
جمعه 19 شهریور 1389, 14:30 عصر
من خودم همیشه از GridEX جانوس استفاده می کنم ، به نظرم فوق العاده است
این گرید تلریک ملریکم که میگی تا حالا باهاش کار نکردم

صباح فتحی
جمعه 19 شهریور 1389, 18:38 عصر
همون گرید وییو که توی دات نت بار هم هست؟

yararaha
یک شنبه 21 شهریور 1389, 14:46 عصر
سلام 1 سوال دارم كامژوننت هاي تلريك توي Win applicatio هم ميشه استفاده كرد يا فقط توي وب ميشه ممنون ميشم جواب بدين

ali_autumnal
یک شنبه 21 شهریور 1389, 16:11 عصر
به هر حال اگر برای فرم برنامه تنظیمات فونت را قرار بدی و بعد کنترلها را اضافه کنی، فونت فرم به کنترلهای زیر مجموعه خودش یک جورایی به ارث میرسه.


دوست عزيز اين روش در ويندوز XP بسيار خوب جواب ميده. اما در ويستا و سون پيش فرض خودشو انتخاب ميكنه و هيچگونه از فرم ارث بري نميكنه.

صباح فتحی
یک شنبه 21 شهریور 1389, 18:36 عصر
دوست عزيز اين روش در ويندوز XP بسيار خوب جواب ميده. اما در ويستا و سون پيش فرض خودشو انتخاب ميكنه و هيچگونه از فرم ارث بري نميكنه.
حالانمیشه این پیش فرض روعوض کرد؟

ali_autumnal
یک شنبه 21 شهریور 1389, 20:15 عصر
حالانمیشه این پیش فرض روعوض کرد؟


منظور از پیش فرض خودش همون پیش فرض VS هست.
که الان دارید با C# برنامه مینویسید.

بهتره بعداز تنظیم فرم مورد نظر فونت کلیه کنترل هارو هم چک کنید.



یک روش دیگه برای ایجاد فرم پدر اینکه باید یک تمپلیت درست کنید که بعد می تونید در تمام برنامه هاتون از اون استفاده کنید و نیاز به ایجاد مجدد اون نیست به این شکل
1. یک پرژه ویندوزی جدید ایجاد کنید
2. خواص فرم تنظیم کنید به هر صورت که می خواهید
3. بعد از منوی File گذینه Export Template انتخاب کنید
4. حالا دو تا گذینه دارید
الف) Project template
ب) Item template

برای کاری که شما می خواهید انجام بدید از گذینه دوم استفاده کنید و بعد در پروژه اصلی زمانی که می خواهید یک فرم به برنامه اضافه کنید به جای فرم معمولی از چیزی که خودتون ساختید و تو لیست اضافه شده می تونید استفاده کنید



دوست عزیز این روش مثل کپی کردن فرم میمونه. هر چی تو فرم مبدا هست یکجا در فرم جدید کپی میکنه. از کنترل گرفته تا کد...

بنظرم یه فرم جدید ایجاد کنیم و تنظیمات لازم رو انجام بدیم صلاح باشه.

موفق باشید
علی پاییزی

صباح فتحی
یک شنبه 21 شهریور 1389, 20:29 عصر
منظورم اینه نمیشه وقتی یه دکمه رو فرم بزاریم فونت پیش فرضش تاهوماباشه؟

mahziar
یک شنبه 21 شهریور 1389, 23:06 عصر
سلام
توی برنامه بهتره از فونت تاهوما واسه خاصیت تکست کنترل ها استفاده کنم!
یه روش میخاستم که تمام کنترل هام یک دفعه(تمامی فرم ها)فونتشون تاهوما شه!ممنون

سلام
خوب منم یه روش میگم ، شاید بدردتون خورد .

اول تو انتهای Settings.Designer.cs برنامتون کد زیر رو Paste کنین .


[global::System.Configuration.UserScopedSettingAttr ibute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttr ibute()]
[global::System.Configuration.DefaultSettingValueAt tribute("Tahoma, 8pt")]
public global::System.Drawing.Font Font
{
get
{
return ((global::System.Drawing.Font)(this["Font"]));
}
set
{
this["Font"] = value;
}
}


class زیر رو به پروژتون اضافه کنین
بعد تو تابع سازنده تمام فرم هاتون فقط کافیه دستور
Manager.SetFont(this); رو بنویسین اینجوری تمام ابجکت های روی فرم به فونت تعریف شده تغییر میکنن تازه میشه از داخل برنامه در حال اجرا هم فونت دیگه ای جایگزین فونت قبلی تو Setting کرد با دستور زیر :


Properties.Settings.Default.Font = fontDialog1.Font;
Manager.SetFont(this);


البته اول باید namespace کلاس زیر رو با namespace فرم های خودتون تعویض کنید وگرنه باید از دستور using Puyan_ConsoleSMS برای شناخته شدن کلاس استفاده کنین .

ali_autumnal
دوشنبه 22 شهریور 1389, 00:25 صبح
سلام
خوب منم یه روش میگم ، شاید بدردتون خورد .

اول تو انتهای Settings.Designer.cs برنامتون کد زیر رو Paste کنین .


[global::System.Configuration.UserScopedSettingAttr ibute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttr ibute()]
[global::System.Configuration.DefaultSettingValueAt tribute("Tahoma, 8pt")]
public global::System.Drawing.Font Font
{
get
{
return ((global::System.Drawing.Font)(this["Font"]));
}
set
{
this["Font"] = value;
}
}
class زیر رو به پروژتون اضافه کنین
بعد تو تابع سازنده تمام فرم هاتون فقط کافیه دستور
Manager.SetFont(this); رو بنویسین اینجوری تمام ابجکت های روی فرم به فونت تعریف شده تغییر میکنن تازه میشه از داخل برنامه در حال اجرا هم فونت دیگه ای جایگزین فونت قبلی تو Setting کرد با دستور زیر :


Properties.Settings.Default.Font = fontDialog1.Font;
Manager.SetFont(this);
البته اول باید namespace کلاس زیر رو با namespace فرم های خودتون تعویض کنید وگرنه باید از دستور using Puyan_ConsoleSMS برای شناخته شدن کلاس استفاده کنین .



لطفا جهت حفظ حقوق برنامه نویس ها منبع رو هم ذکر کنید.
متشکرم
علی پاییزی

hamid.shekasteh
سه شنبه 23 شهریور 1389, 08:03 صبح
هر برنامه نویسی یه سری از کلمات رو بیشتر استفاده میکنه ، Mamaner برای من از اون کلمه هاست.اول فکر کردم تصادفی بعد دیدم این کد با دو متدی که زیرش گذاشته شده دقیقا مال یه برنامه منه !!
مهم نیست که منبع رو ذکر نکردید نکته ای که برام مهمه اینه که این کد چه جوری دست شما و اینجا رسیده؟
لطفا بگید چون برام مهمه.

من قبلا به صورت آموزش یه همچین کدی رو اینجا گذاشته بودم.سعی می کنم لینکشو پیدا کنم ولی یادم نمیاد که این متد اضافی رو هم تو اون گذاشته باشم(Convert) ضمن اینکه در فرم هایی که کنترل های Container دارند کد کلاسی که قبلا نوشتم کارایی نداره.

به این نمونه توجه کنید یه بار توی یه فرم از کاملتر شده روش بالا استفاده شده و یه بار توی یه فرم دیگه از Inheritance استفاده شده.ببینید.