PDA

View Full Version : سوال: سئوال در مورد ماسک تکست باکس ( ماسک تاریخ سفارشی )



behnam2010
یک شنبه 26 خرداد 1392, 18:38 عصر
سلام من تو برنامم دارم از یک کنترل MaskedTextBox با ماسک تاریخ استفاده میکنم الان کاری که میخوام انجام بدم ولی بلد نیستم چجوری , این هستش که :

1 ) اولا ماسکش دیده نشه

2 ) بعد اگه کاربر بیش از 4 تا عدد وارد کنه ماسک ماه و روز بیاد

3 ) اگر کاربر 4 تا عدد که معادل با سال باشه وارد کرد بعد خواست به کنترل دیگر فوکوس کنه دیگه ماسک تاریخ ایجاد نشه یعنی ماه و روز نیاد

خودم سعی کردم ولی به نتیجه ای نرسیدم

poorman
دوشنبه 27 خرداد 1392, 00:15 صبح
سلام
منم سعی کردم اینکار رو بکنم ، البته میخواستم لاین زیر ماسک برداشته بشه که نشد
اما پیشنهاد من واسه کاری که گفتی ، اینه که از تکس باکس استفاده کنی
توی تکس باکس کد بنویس که اگر طول رشته به 4 رسید یه "/" اضافه کنه ، البته اگه میخوای بعدا خطا نگیری باید کد بنویسی که کاراکترهای ورودی فقط عدد باشه

امیدوارم درست متوجه شده باشم سوالت رو :)

farbod61
دوشنبه 27 خرداد 1392, 08:34 صبح
سلام
منم سعی کردم اینکار رو بکنم ، البته میخواستم لاین زیر ماسک برداشته بشه که نشد
اما پیشنهاد من واسه کاری که گفتی ، اینه که از تکس باکس استفاده کنی
توی تکس باکس کد بنویس که اگر طول رشته به 4 رسید یه "/" اضافه کنه ، البته اگه میخوای بعدا خطا نگیری باید کد بنویسی که کاراکترهای ورودی فقط عدد باشه

امیدوارم درست متوجه شده باشم سوالت رو :)

میشه یه کد نمونه بزاری دوست عزیز؟ که جوری طول رشته محاسبه بشه و جمله شرطیش چه جوری باشه؟ ممنونم

behnam2010
دوشنبه 27 خرداد 1392, 10:30 صبح
از کمک دوست عزیز poorman ممنونم

من اصلا شاید باورت نشه که تو فکر تکست باکس نبودم که بخوام اینکارو باهاش انجام بدم همش حواسم به ماسک تکست باکس بود

اگه بخوای لاین زیر ماسک رو برداری باید تو properties ماسک تکست باکست بری و خاصیت promptChar رو که دارای" _" این هستش رو حذف کنی و از رو کیبوردت یه بار دکمه space رو بزنی دیگه اون لاین زیر ماسک تکست باکس نمیاد

به هر حال مشکلم حل شد و واسه دوستمون farbod61 گفتم که سورسشو بزارم البته کار خاصی هم انجام ندادم
کاری که در این سورس انجام دادم :

1-محدود به عدد
2-محدود به 10عدد با احتساب "/"
3-شرط مورد نظر برای نمایش "/"

لینک دانلود :


http://uploadtak.com/images/m486_mask_txt_bx.zip
(http://uploadtak.com/images/m486_mask_txt_bx.zip)

poorman
دوشنبه 27 خرداد 1392, 15:50 عصر
یه مسئله دیگه
اگر توی برنامه ای ، خواستی تاریخ همون روز رو ثبت کنی ، کاربر رو ملزوم نکن که حتما تاریخ رو وارد کنه
بهتره کار رو واسش ساده تر کنیم
از تاریخ خود سیستم استفاده کنیم و توی فرم لود ، تاریخ رو بریزیم داخل ماسک یا تکس باکس

البته باید یه تبدیل میلادی به شمسی بزنی واسش ;)

behnam2010
دوشنبه 27 خرداد 1392, 18:42 عصر
یه مسئله دیگه
اگر توی برنامه ای ، خواستی تاریخ همون روز رو ثبت کنی ، کاربر رو ملزوم نکن که حتما تاریخ رو وارد کنه
بهتره کار رو واسش ساده تر کنیم
از تاریخ خود سیستم استفاده کنیم و توی فرم لود ، تاریخ رو بریزیم داخل ماسک یا تکس باکس

البته باید یه تبدیل میلادی به شمسی بزنی واسش ;)

آره اینایی که گفتی رو امروز ظهر حلش کردم . چون برنامم به هم باید به کاربر اجاز میداد که اگه 4 تا رقم وارد کرد کاری بهش نداشته باشه و اگر بیشتر از 4 تا شد هم بره صحت تاریخ رو چک کنه فقط مشکلم همون بود که لطف کردی یاد آوری کردی بجای ماسک از تکست باکس استفاده کنم. ممنون

ali_najari
سه شنبه 04 تیر 1392, 10:02 صبح
دوست عزیز من یه تابع خیلی ساده واستون آماده کردم امیدوارم که به کارتون بیاد

pouyesh
شنبه 23 آذر 1392, 01:08 صبح
من از ماسک برای تاریخ استفاده کرده ام اما موقع اجرا خطای زیر را می دهد.
String was not recognized as a valid DateTime.