PDA

View Full Version : طریقه اضافه کردن فونت به سی شارپ



eletcomp
چهارشنبه 20 فروردین 1393, 13:31 عصر
با سلام
من میخواستم بدونم چطور می توانم فونت b titr را توی برنامه ای که نوشتم استفاده کنم!! این فونت را از اینترنت گرفتم و توی پوشه ی fonts ویندوز 7 ریختم ولی جواب نداد!! ارور میده!
لطفا راهنمایی کنید!
سپاس

gerdioz
چهارشنبه 20 فروردین 1393, 13:51 عصر
سلام مشکلی نباید داشته باشه شاید فونت مشکل داره برای نمونه فونت زیر را امتحان کن
http://upload.tehran98.com/upme/uploads/eb678c5b57276d271.rar

eletcomp
چهارشنبه 20 فروردین 1393, 14:46 عصر
باز هم ارور میده!!!!!!!!!!!!!!!! لطفا راهنمایی کنید!!

117785

gerdioz
چهارشنبه 20 فروردین 1393, 15:05 عصر
دوست عزیز شما وقتی فنت رو در پوشه فونت کپی می کنید در انتخاب فونت در برنامه نویسی می تونید اونو ببینید و انتخاب کنید؟

forodo
چهارشنبه 20 فروردین 1393, 15:06 عصر
سلام
باید از FontCollection استفاده کنید.
این (http://msdn.microsoft.com/en-us/library/y505zzfw%28v=vs.110%29.aspx)و این (http://msdn.microsoft.com/en-us/library/system.drawing.text.fontcollection%28v=vs.110%29.a spx)
اگه باز متوجه نشدید بگید براتون کد بذارم چون الان دسترسی به کداش ندارم.

eletcomp
چهارشنبه 20 فروردین 1393, 15:13 عصر
دوست عزیز شما وقتی فنت رو در پوشه فونت کپی می کنید در انتخاب فونت در برنامه نویسی می تونید اونو ببینید و انتخاب کنید؟
بله :ولی زمانی که فونت را انتخاب می کنم این ارور را می دهد!!!
سپاس

eletcomp
چهارشنبه 20 فروردین 1393, 15:15 عصر
باید از FontCollection استفاده کنید.
این (http://msdn.microsoft.com/en-us/library/y505zzfw%28v=vs.110%29.aspx)
و این (http://msdn.microsoft.com/en-us/library/system.drawing.text.fontcollection%28v=vs.110%29.a spx)

اگه باز متوجه نشدید بگید براتون کد بذارم چون الان دسترسی به کداش ندارم.
ممنون: ولی خیلی پیچیده هست!!! متوجه نشدم!! کد نویسی دارد!!! لطفا راهنمایی کنید!
نمونه کد دارید!!
سپاس

alexmcse
چهارشنبه 20 فروردین 1393, 18:12 عصر
ممنون: ولی خیلی پیچیده هست!!! متوجه نشدم!! کد نویسی دارد!!! لطفا راهنمایی کنید!
نمونه کد دارید!!
سپاس


با فرض اینکه فایل های فونت در درایو دی و پوشه فونت قرار دارد

System.Drawing.Text.PrivateFontCollection privateFontCollection = new PrivateFontCollection(); FontFamily[] fontFamilies;
privateFontCollection.AddFontFile(@"D:\font\BNazanin.ttf");
privateFontCollection.AddFontFile(@"D:\font\BAseman.ttf");
fontFamilies =privateFontCollection.Families ;
for (int i = 0; i < fontFamilies.Length ; i++)
{
comboBox1.Items.Add(fontFamilies[i].Name);
}
comboBox1.SelectedIndex = 0;
}


private void button1_Click(object sender, EventArgs e)
{
label1.Font = new Font(comboBox1.Text ,label1.Font.Size );

}

eletcomp
چهارشنبه 20 فروردین 1393, 18:41 عصر
ممنون دوست عزیز:ایا راه راحتری وجود نداره؟؟؟ به غیر از کد نویسی؟؟؟؟ این کد را باید کجا نوشت!!!
من میخوام فونت و سایز ارقام و حروفی که توی تکس باکس و باتن هست را عوض کنم!!!!
سپاس

forodo
پنج شنبه 21 فروردین 1393, 13:06 عصر
فونتهایی رو که می خوای از داخل پوشه Fints داخل پوشه Windows داخل درایو C بردار و کنار exe برنامه ات قرار بده.
این Using:
using System.Drawing.Text;
این دوتا رو توی سطح برنامه تعریف کن:
PrivateFontCollection pfc = new PrivateFontCollection();
FontFamily[] fontFamilies;
اینهارو هم داخل رویداد Load فرمت تعریف کن:
pfc.AddFontFile(AppDomain.CurrentDomain.BaseDirect ory + "BKAMRAN_0.TTF");
fontFamilies = pfc.Families;
foreach (Control c in this.Controls)
{
c.Font = new Font(fontFamilies[0], 13, FontStyle.Bold);
}

شما می تونید با این خط و نوشتن چندباره اون هر چندتا فونت رو که می خواید اضافه کنید. با این روش دیگه مهم نیست که اصلاً توی کامپوتر طرف فونت نصب هستش یا نه.
pfc.AddFontFile(AppDomain.CurrentDomain.BaseDirect ory + "BKAMRAN_0.TTF");