ebrahim.rayatparvar
یک شنبه 18 بهمن 1394, 16:03 عصر
سلام خدمت دوستای خوب برنامه نویس.
من یه تکس باکسی دارم و فونت اون هم Tahoma هست نمیخوام فونت فارسی روش بزارم مثل B Yekan میخوام با همین فونت اعداد رو برام فارسی بنویسه که تو نتظیمات ویندوز دستکاری کردم زمانی که RTL راست باشه درست کار می کنه ولی زمانی که چپ میفرستم دوباره تبدیل میشه به انگلیسی. از کد زیر هم استفاده کردم :
void txtNumber_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != 13 && e.KeyChar != 8)
{
if (!(e.KeyChar >= 48 && e.KeyChar <= 57))
{
e.KeyChar = (Char)0;
}
else e.KeyChar = (char)(1632 + int.Parse(e.KeyChar.ToString()));
}
}
درست کار میکنه خیلی زیبا اعداد رو چه چپ چه راست داره فارسی نشون میده ولی زمانی که میخوای از اعداد تو TextBox رو تبدیل به int بکنین :
Dig = int.Pars(TextBox.Text);
پیغام خطا زیر رو میده :
Input string was not in a correct format.
مشکل اینه که بخوام یک تبدیل کننده برای این دوباره بنویسم که برای این همه کنترل در برنامه و اینکه هر کارکتر عدد رو دوباره باید یونکدشو برگردونم به حالت قبل که زیاد جالب و منطقی نمیاد.
شما راه حل بهتری دارید پیشنهاد بدید؟
من یه تکس باکسی دارم و فونت اون هم Tahoma هست نمیخوام فونت فارسی روش بزارم مثل B Yekan میخوام با همین فونت اعداد رو برام فارسی بنویسه که تو نتظیمات ویندوز دستکاری کردم زمانی که RTL راست باشه درست کار می کنه ولی زمانی که چپ میفرستم دوباره تبدیل میشه به انگلیسی. از کد زیر هم استفاده کردم :
void txtNumber_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != 13 && e.KeyChar != 8)
{
if (!(e.KeyChar >= 48 && e.KeyChar <= 57))
{
e.KeyChar = (Char)0;
}
else e.KeyChar = (char)(1632 + int.Parse(e.KeyChar.ToString()));
}
}
درست کار میکنه خیلی زیبا اعداد رو چه چپ چه راست داره فارسی نشون میده ولی زمانی که میخوای از اعداد تو TextBox رو تبدیل به int بکنین :
Dig = int.Pars(TextBox.Text);
پیغام خطا زیر رو میده :
Input string was not in a correct format.
مشکل اینه که بخوام یک تبدیل کننده برای این دوباره بنویسم که برای این همه کنترل در برنامه و اینکه هر کارکتر عدد رو دوباره باید یونکدشو برگردونم به حالت قبل که زیاد جالب و منطقی نمیاد.
شما راه حل بهتری دارید پیشنهاد بدید؟