PDA

View Full Version : تاریخ فارسی در rich textbox



alirzn
چهارشنبه 24 مرداد 1386, 17:57 عصر
سلام
چطور میشه در rich textbox تاریخ ایرانی(شمسی ) را وارد کرد.
مثلا 4/11/1386
مرسی

ghafoori
پنج شنبه 25 مرداد 1386, 10:41 صبح
دوست عزیز این مسئله بارها داخل سایت پاسخ داده شده کمی جستجو جواب را پیدا می کنید در مورد persaincalendar داخل سایت جستجو کنید

sm_ezadpanah
پنج شنبه 25 مرداد 1386, 13:50 عصر
این کد به شما کمک میکنه :

System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
label7.Text = Convert.ToString(p.GetDayOfMonth(DateTime.Now)) + " / " + Convert.ToString(p.GetMonth(DateTime.Now)) + " / " + Convert.ToString(p.GetYear(DateTime.Now));

این کد تاریخ سیستم رو میگیره و به شمسی داخل لیبل نمایش میده

alirzn
پنج شنبه 25 مرداد 1386, 14:53 عصر
دوست عزیز منظور من این نیست
می خوام کاربر تاریخ رو وارد کنه
مثلا برای گزارش گیری بین 2 تا تاریخ

sm_ezadpanah
پنج شنبه 25 مرداد 1386, 15:10 عصر
خوب شما می توی از س تا کمبو اکس استفاده کنی برای روز ماه سال و بع باهم ترکیبش کنی

PC2st
پنج شنبه 25 مرداد 1386, 16:26 عصر
می خوام کاربر تاریخ رو وارد کنه
از MaskedTextBox استفاده کنید و خاصیت Mask رو بصورت زیر قرار قرار دهید.


0000/00/00

alirzn
شنبه 27 مرداد 1386, 00:36 صبح
تاریخ رو از چپ به راست می زنه .
یعنی اول باید سال را وارد کنیم بعد ماه و بعد هم روز
چطور میشه که درست بشه؟

PC2st
شنبه 27 مرداد 1386, 02:09 صبح
چطور میشه که درست بشه؟
یک MaskedTextBox رو به فرم اضافه کنید و خاصیت Mask اون رو به شکل زیر تغییر دهید:


0000/00/00

سپس در رویداد KeyPress از maskedTextBox1، کدهای زیر رو بنویسید:


private void maskedTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string free = this.maskedTextBox1.Text.Replace(" ", "").Replace("/", "");
e.Handled = true;
if (free.Length < 2)
this.maskedTextBox1.SelectionStart = this.maskedTextBox1.Text.Length;
else if (free.Length < 4)
this.maskedTextBox1.SelectionStart = 3 + free.Length;
else
this.maskedTextBox1.SelectionStart = free.Length - 4;
}

در صورتی که کاربر اعداد رو با صفحه کلید وارد کند، ابتدا روز، بعد ماه و سپس سال وارد خواهد شد. اگر خواستید برای عملیات کپی و Paste هم آماده اش کنید :)