PDA

View Full Version : سوال: شبیه سازی mask در TextBox



eshaghrahimy
چهارشنبه 19 تیر 1392, 16:30 عصر
منظورم این بود که بدون استفاده از maskedtextbox بتونم برای تکست باکس تابعی بنویسم که اون تابع بتونه این کارو انجام بده (میخوام داخل تکست باکس تاریخ رو بگیرم )

sinaexample
پنج شنبه 20 تیر 1392, 03:07 صبح
شما موقعی که کاربر داره تایپ میکنه که کاری نموتونی بکنی ولی اگه بخوای مثلا عدد 13222222 رو به صورت تاریخ 22/22/1322 در بیاری میشه با کد نویسی این کار رو کرد.
واسه این کار هم اول باید چهار رفم اول رو انتخاب کنی و یه / بزاری دوباره دو رقم بعد و همین طور تا آخر.
از تابع mid میتونی استفاده کنی

eshaghrahimy
پنج شنبه 20 تیر 1392, 08:42 صبح
من میخوام دقیقا همون کاری رو بکنم که شما گفتید نمیشه ولی خود مایکروسافت چطوری maskedtextbox را نوشته

sinaexample
پنج شنبه 20 تیر 1392, 13:57 عصر
البته این کار رو من خودم تاحالا نکردم نمیدونم میشه یا نه ولی فکر کنم بشه که یه تابع بنویسی و اونو تو رویداد تکست چنج تکست باکس بزاری که هر وقت مثلا چهارتا عدد تایپ شد خودش پشت سرش / رو بزاره. این روش رو امتحان کردی ؟جواب نمیده؟

eshaghrahimy
پنج شنبه 20 تیر 1392, 15:47 عصر
اینطوری میشه ولی اگه میشد که همینطور که تایپ می کردی / سرجاش می موند و سال و ماه و روز به ترتیب توی تکست باکس قرار می گرفتند خیلی خوب بود شما راه حلی به ذهنتون نمیرسه؟

sinaexample
جمعه 21 تیر 1392, 10:54 صبح
خوب همینطور که تایپ میکنی سر جاش میمونه دیگه.
من دیروز تست کردم عملیه.
یه تابع بنویس به همون شکلی که گفتم یعنی بعد از چهارتا عدد که وارد میکنی(سال) یه / بزاره بعد از شش تا عدد (ماه) / بزاره و بیشتر از هشت عدد هم اجازه تایپ نداشته باشه. بعد تو رویداد تکست چنج اون تابع رو صدا بزن

shahryari
جمعه 21 تیر 1392, 11:44 صبح
سلام
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged
Select Case TextBox4.TextLength
Case 4
TextBox4.Text &= "/"
TextBox4.Select(TextBox4.TextLength, 0)
Case 7
TextBox4.Text &= "/"
TextBox4.Select(TextBox4.TextLength, 0)
End Select
End Sub

eshaghrahimy
جمعه 21 تیر 1392, 12:16 عصر
ممنون دوست عزیز روی کد شما backspace عمل نمیکنه البته قابل حله ولی من میخوام تکست باکس وقتی خالیه به این صورت (" / / ") باشه و وقتی کاربر عدد وارد می کنه مثل وقتی باشه که کلید insert صفحه کلیدو میزنیم کاربر عدد وارد کنه ولی موقعیت کاراکتر / سرجاش بمونه تا وقتی که به اولین / برسه بعد از اون ازش رد بشه و ماه و روز را هم به همین صورت بتوان وارد کرد.