PDA

View Full Version : سوال: تغییر رشته به فونت



بیتا حکمت
شنبه 05 اردیبهشت 1394, 14:54 عصر
سلام . من چند روز پیش هم تاپیکی مشابهی ایجاد کرده بودم اما چون مساله رو بد مطرح کردم نتونستم از دوستان کمک بگیرم . جریان از این قرار که هست من فونتی رو که کاربر از فونت دیالوگ انتخاب کرده به صورت رشته تو دیتابیس ذخیره کردم . تا در فرم های دیگر از این فونت استفاده کنم . اما مشکل اینجا پیش میاد مقداری که برای خاصیت فونت یک کنترل یا شی قرار می دیم باید از نوع فونت باشه . حالا سوال اینجاست که فرضا" رشته ای مشابه رشته پایین از دیتابیس لود شده ، چطوری می تونم همین رشته رو تبدیل کنم به فونت !



string sfont = "[Font: Name=Tahoma, Size=14.25, Units=3, GdiCharSet=0, GdiVerticalFont=False] ";

Mahmoud Zaad
شنبه 05 اردیبهشت 1394, 15:00 عصر
سلام
منظورتون این موضوع (http://stackoverflow.com/questions/2207709/convert-font-to-string-and-back-again) هست؟

SabaSabouhi
شنبه 05 اردیبهشت 1394, 15:17 عصر
سلام . من چند روز پیش هم تاپیکی مشابهی ایجاد کرده بودم اما چون مساله رو بد مطرح کردم نتونستم از دوستان کمک بگیرم . جریان از این قرار که هست من فونتی رو که کاربر از فونت دیالوگ انتخاب کرده به صورت رشته تو دیتابیس ذخیره کردم . تا در فرم های دیگر از این فونت استفاده کنم . اما مشکل اینجا پیش میاد مقداری که برای خاصیت فونت یک کنترل یا شی قرار می دیم باید از نوع فونت باشه . حالا سوال اینجاست که فرضا" رشته ای مشابه رشته پایین از دیتابیس لود شده ، چطوری می تونم همین رشته رو تبدیل کنم به فونت !



string sfont = "[Font: Name=Tahoma, Size=14.25, Units=3, GdiCharSet=0, GdiVerticalFont=False] ";


سلام
کار سختی نیست.


var font = new Font("Tahoma", 11);

به همین سادگی.
حالا اگه خواستی، این شیء خاصیت‌های متنوعی داره که می‌تونی اون‌ها رو هم مقدار بدی.

صبا صبوحی

بیتا حکمت
شنبه 05 اردیبهشت 1394, 15:18 عصر
سلام
منظورتون این موضوع (http://stackoverflow.com/questions/2207709/convert-font-to-string-and-back-again) هست؟

فکـر می کنم منظور استارتر لینک شما تقریبا" همونی هست که من میخوام . اما جواب هایی رو که بهش گفته شده درک نکردم ! در واقع اگر راهی پیدا بیشه که رشته به فونت تبدیل بشه مشکل من حل میشه .

بیتا حکمت
شنبه 05 اردیبهشت 1394, 15:24 عصر
سلام
کار سختی نیست.


var font = new Font("Tahoma", 11);

به همین سادگی.
حالا اگه خواستی، این شیء خاصیت‌های متنوعی داره که می‌تونی اون‌ها رو هم مقدار بدی.

صبا صبوحی

سلام جناب صبوحی . ممنونم . اما شما نحوه تعریف فونت رو توضیح دادین در حالی که من سوالم اینکه چطور می تونم بر اساس اون رشته ای که دارم ( رشته ای که از دیتابیس لود شده ) و در مثال بالا با استفاده از متغیر Sfont ، نوع فونت رو تغییر بدم

Mahmoud Zaad
شنبه 05 اردیبهشت 1394, 15:26 عصر
فکـر می کنم منظور استارتر لینک شما تقریبا" همونی هست که من میخوام . اما جواب هایی رو که بهش گفته شده درک نکردم ! در واقع اگر راهی پیدا بیشه که رشته به فونت تبدیل بشه مشکل من حل میشه .
خب شما احتمالاً از متد ToString برای تبدیل فونت به رشته استفاده کردید باید همون اول هم از FontConvertor استفاده می کردید.
یه متغیر سراسری به اسم _fontStr تعریف می کنیم:


string _fontStr;


حالا در یه دکمه اسم فونت رو توی _fontStr قرار میدیم:


var cvt = new FontConverter();
DialogResult result = fontDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Font f = fontDialog1.Font;
_fontStr= cvt.ConvertToString(f);
//this.Font = f;
//this.Text = font.ToString();
}

حالا از _fontStr استفاده می کنیم و فونت تکست باکس1 رو تغییر میدیم:
var cvt = new FontConverter();
Font f = cvt.ConvertFromString(_fontStr) as Font;
textBox1.Font = f;