PDA

View Full Version : در خواست کامپوننتی برای تاریخ



hasbar
دوشنبه 23 اسفند 1389, 07:29 صبح
با سلام خدمت همه دوستان
توی برنامه ام ازیه کامپوننتی به نام DateBox استفاده کرده ام اما نمیشه تاریخ اونو صفر گذاشت ، به عبارت دیگه اگر کاربر مثلاً نخواست تاریخ تولدشو وارد کنه امکانش نیست و یه مقدار پیش فرضی همیشه داخل اون هست.
دوستان اگه کسی سورسشو داره برام بذاره یا اگه راهکاری دارید برای حل این مشکل بفرمایید.
ممنون
:متفکر:

ehsanara
دوشنبه 23 اسفند 1389, 08:08 صبح
اگه از DateTimePicker خود #C استفاده می کنی تو Property یه گزینه هست به اسم ShowCheckBox اون رو True کن
بعد جایی که میخوای نشون بدی بزن



dateTimePicker1.Checked ? dateTimePicker1.Text : "" ;

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

ehsanara
دوشنبه 23 اسفند 1389, 08:36 صبح
اگه از DatePicker فارسی استفاده می کنی بگو که یه کامپوننت فارسی بفرستم برات که قابلیت خالی بودن رو هم داره

hasbar
دوشنبه 23 اسفند 1389, 09:28 صبح
با تشکر از شما
اگه بفرستید ممنون میشم چون می خوام حتماً فارسی باشه.

Hossenbor
دوشنبه 23 اسفند 1389, 09:37 صبح
سلام یک مقدار اولیه و مقداری که هنگام ثبت نام رو مقایسه کن اگه یکی نبود که هیچی و گرنه برابر صفر قرارش پده

hasbar
دوشنبه 23 اسفند 1389, 09:46 صبح
این جوری ظاهر فرم نشون می ده که کاربر باید حتماً یه تاریخی رو وارد کنه و گرنه تاریخ پیش فرض ثبت می شه.

ehsanara
دوشنبه 23 اسفند 1389, 10:15 صبح
این برنامه رو ببین
تو یه textBox تو فرم برنامه نوشتم چیکار باید انجام بدی
67465

اگه خواستی موقع Load فرم مقدار datePickerفارسی که هست خالی باشه تو load فرم مقدار Text رو "" بزار
اگه مشکلی داشتی بگو
برا این برنامه datePicker دیگه شرط لازم نیست و میتونی مقدارش رو خالی بزاری

hasbar
دوشنبه 23 اسفند 1389, 11:34 صبح
با تشکر از ehsanara عزیز:تشویق:
می بخشید که یادم رفته اینو زودتر بگم.
چون برنامه رو برای یه صندوق قرض الحسنه نوشته ام و سرعت برای کاربر خیلی مهمه،
نمی خوام کاربر از ماوس برای گرفتن تاریخ استفاده کنه و می خوام فقط از صفحه کلید برای وارد کردن تاریخ استفاده بشه.
در ضمن کاربر با زدن کلید اینتر بین تکس باکس ها جابجا می شه. DateBox بهترین گزینه برای این کاره، فقط مشکلش اینه که مقدار خالی رو قبول نمی کنه. امیدوارم دوستان بتونن مشکل منو حل کنن.
متشکرم:متفکر:

ehsanara
دوشنبه 23 اسفند 1389, 12:12 عصر
منظورت از DateBox اینه که از DateBox.Dll استفاده میکنی؟

اگه منظورتون اینه که از این کد به جای اون استفاده کن

System.Globalization.PersianCalendar PR = new System.Globalization.PersianCalendar();
DateTime DT = DateTime.Now;
textBox2.Text = PR.GetYear(DT) + "/" + PR.GetMonth(DT) + "/" + PR.GetDayOfMonth(DT);


به جای اون DateBox یه textBox بزار رو فرم و اسمش رو با textBox2 کدی که گذاشتم جایگزین کن

ehsanara
دوشنبه 23 اسفند 1389, 12:16 عصر
System.Globalization.PersianCalendar PR = new System.Globalization.PersianCalendar();
DateTime DT = DateTime.Now;
textBox2.Text = PR.GetYear(DT) + "/" + PR.GetMonth(DT) + "/" + PR.GetDayOfMonth(DT);

hasbar
دوشنبه 23 اسفند 1389, 12:41 عصر
با سلام منظورمو دقیقتر می گم.
فرض کنید کاربر نام را در یه تکس باکس تایپ می کنه بعد اینتر می زنه و وارد تکس باکس تاریخ میشه در اینجا دو عدد وارد می کنه که جای روز میشینه، دو عدد بعدی جای ماه و چهار عدد بعدی جای سال و بعد میره توی تکس باکس بعدی.
کدی که شما نوشتید که جایی برای ورود تاریخ نداره.
تشکر

ehsanara
دوشنبه 23 اسفند 1389, 14:39 عصر
فکر کنم این منظورته
67471

تو تکست باکس تاریخ رو وارد کن خودش / رو میندازه
فقط دقت کن اول باید روز بعد ماه وبعد سال رو وارد کنی
ضمنا روز یا ماه باید 2رقمی باشه
مثل 03