PDA

View Full Version : سوال: راهنمایی برای ساخت ورد پد



amir-aa
یک شنبه 08 مرداد 1391, 17:06 عصر
سلام
من میخواستم یک ورد پد طراحی کنم.تاجاهایی پیش رفتم.بعد یه نمونه آماده خیلی عالی گرفتم اما ازش چیزی نفهمیدم.
حالا مشکلم اینجاست::من یک یک فونت دیالوگ گذاشتم و درست کار میکنه اما میخوام نوع فونت رو بتونه با یک combo box تغییر بده نه اونجوری که یه پنجره جدید باز شه.....
چیکار کنم؟؟

در ضمن مناز روی درس های مهندس کیانیان کار میکنم

hakim22
یک شنبه 08 مرداد 1391, 18:44 عصر
خب شما لیست فونتهای ویندوز رو پیدا می کنید و در یک کومبو باکس میریزید دیگه ایکه مثل ورد هر کدوم از آیتم ها فونت هم نام خودش رو بگیره یا ... کار داره !

amir-aa
یک شنبه 08 مرداد 1391, 20:56 عصر
اشکالم اینجاست که نمیدونم چطور لیستش رو بدست بیارم؟

harani
یک شنبه 08 مرداد 1391, 21:32 عصر
میخوای تو کمبو باکس تمام فونتا نشون داده شه دیگه ؟؟؟؟؟

کاری نداره کافی تو form_load کد زیر رو بنوییسی .


foreach (FontFamily f in FontFamily.Families)
comboBoxFont.Items.Add(f.Name);

amir-aa
یک شنبه 08 مرداد 1391, 22:41 عصر
میشه یه کد کامل بذارید؟

amir-aa
یک شنبه 08 مرداد 1391, 22:58 عصر
خب من الان اینو نوشتم بعد از اون کد نوشتم اما ارور میده



editor.SelectionFont.FontFamily.Name=toolStripComb oBox1.SelectedItem.ToString();

harani
یک شنبه 08 مرداد 1391, 23:42 عصر
متنت تو کنترل richbox دیگه ؟؟؟؟؟؟؟؟

private void ComboBoxFont_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
richbox1.Focus();
richbox1.SelectionFont = new Font(ComboBoxFont.SelectedItem, 14);
}
catch (System.Exception)
{

richbox1.Focus();
}
}

توی try - Catch بذار چون نسبت به بعضی فونتا برنامه واکنش نشون میده .

اگه دوست داری میتونی یک کامبو باکسم برای سایز فونت بذاری . برای اضافه کردن اعداد سایز به کامبو باکست میتونی تو form_load کد زیر رو اضافه کنی .


string[] sizef = new string[] { "8", "10", "12", "14", "16", "18", "20", "22", "24", "26", "28", "32", "36", "48", "72" };
comboBoxSize.Items.AddRange(sizef);

ComboBoxFont.Text = this.Font.Name;//defualt font
comboBoxSize.Text = this.Font.Size.ToString();//defualt Size


برای انتخاب سایزم کد زیرو بنویس :


private void comboBoxSize_SelectedIndexChanged(object sender, EventArgs e)
{
richbox1.Focus();
richbox1.SelectionFont = new Font(ComboBoxFont.Text, float.Parse(comboBoxSize.SelectedItem.ToString())) ;
}


یه چیز دیگه تو کد :

richbox1.SelectionFont = new Font(ComboBoxFont.SelectedItem, 14);

میتونی از کامبو باکس سایز کمک بگیری که میشه :

richbox1.SelectionFont = new Font(ComboBoxFont.SelectedItem, comboBoxSize.Text);


موفق باشید .