همانطور که می دانید فونت های پیشفرض ویندوز تنوع چندانی ندارند و از طرفی در برخی از نرم افزارها نیاز داریم تا از فونت خاصی استفاده کنیم. برای استفاده از فونت دلخواه در سی شارپ می توانیم از روش مطرح شده در این آموزش کمک بگیریم. در این آموزش ابتدا روش تغییر دادن خصوصیت فونت برای کنترل های Windows Form را توضیح خواهیم داد و بعد از آن روش استفاده از فونت های دلخواه را مطرح خواهیم کرد.
[divider]
زمانی که پروژه ویندوز فرم جدید را در ویژوال استودیو ایجاد می کنید، در ابتدا فونت پیشفرض برای کنترل ها مانند تصویر زیر خواهد بود:
در زبان سی شارپ برای تغییر دادن فونت کنترل ها باید از کلاس Font کمک بگیریم. یعنی یک شی از کلاس Font بسازیم. این کلاس در کتابخانه System.Drawing وجود دارد. برای ساخت شی از این کلاس نیاز به شی ای از جنس کلاس FontFamily داریم که خانواده فونت مورد نظر ما را تعیین می کند. این خانواده باید از مقادیر موجود در فونت های ویندوز باشد(نام فونت های نصب شده بر روی ویندوز) به عنوان مثال به قطعه کد زیر دقت کنید:
FontFamily ff = new FontFamily(“Tahoma”); Font ft = new Font(ff,14); myBtn.Font = ft;
خروجی این قطعه کد را می توانید در تصویر زیر مشاهده کنید:
قطعه کد بالا خصوصیت فونت Button با نام myBtn را تغییر می دهد. اما همانطور که در خط اول مشاهده می کنید نام خانواده فونت جزو نام هایی است که بطور پیشفرض بر روی سیستم عامل ویندوز عرضه می شود. همانطور که در ابتدا نیز اشاره شد، از آنجایی که تنوع در فونت های پیشفرض ویندوز کم است، برای ساخت ظاهری زیبا برای برنامه های خود باید دنبال روشی باشیم تا بتوانیم از فونت های دیگر نیز استفاده کنیم.
[divider]
رایج ترین روش در سی شارپ برای استفاده از فونت دلخواه این است که یک مجموعه فونت خصوصی تعریف کنیم و فایل فونت خود را به این مجموعه اضافه کرده و سپس از آن استفاده کنیم. برای ساخت مجموعه فونت خصوصی باید از کلاس PrivateFontCollection که در کتابخانه System.Drawing.Text موجود است کمک بگیریم. به نمونه کد زیر دقت کنید:
PrivateFontCollection pfcoll = new PrivateFontCollection(); pfcoll.AddFontFile(“myFont.ttf”); FontFamily ff = pfcoll.Families[0]; Font ft = new Font(ff,14); myBtn.Font = ft;
خروجی این قطعه کد را می توانید در تصویر زیر مشاهده کنید:
توجه داشته باشید که در نمونه کد بالا به جای عبارت myFont.ttf می بایست آدرس فایل فونت مورد نظر خود را قرار دهید.
موفق و پیروز باشید!
همچنین می توانید نمونه پروژه مربوط به این آموزش را دانلود نمایید:
پسورد فایل: www.myempire.ir
سلام.
چطور میشه فونت رو از Resoaurce فراخوانی کرد ؟؟!!