نمایش نتایج 1 تا 40 از 66

نام تاپیک: دانلود کنید: کامپوننت DatePicker فارسی با قابلیت نمایش مناسبتهای تقویم شمسی و قمری (همراه با سورس)

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8

    نقل قول: دانلود کنید: کامپوننت DataPicker فارسی با قابلیت نمایش مناسبتهای تقویم شمسی و قمری (همراه ب

    سلام
    ممنون بابت کامپوننت بسیار زیبایی که ایجاد کردید
    همه نکات را رعایت کردید اما اگر datapicker خود net. را دیده باشی به صورت دستی هم می توان داخل آن مقدار ریخت و اینکه از کلیدهای بالاو پایین می توان جهت کم یا زیاد کردن روز و ماه وسال استفاده کرد همانطور که می دانید کاربرانی که از صفحه کلید در ویندوز جهت ثبت استفاده می کنند اصلا دوست ندارند که از موس استفاده کنند و باعث کندی کار میشه
    البته این نظر شخصی من بود جهت بهبود کامپوننت
    با تشکر
    یه دوست دیگه هم با پیام خصوصی این موارد رو گفته بود
    با سلام
    با تشکر از شما بابت تقویم زیبای شما
    ایا امکان داره تو تقویم وقتی از datepicker استفاده می کنیم به صورت دستی تایپ کرد شما تایپ دستی رو بستید
    جوابی که دادم:
    میشه تایپ دستی هم قرار داد. فایل FarsiCalendar رو تو پروژه AmirCalendar تو حالت دیزاین باز کن و از پنجره پراپرتیها کنترل popupDatePicker انتخاب کن و پراپرتی DropDownStyle رو روی DropDown بزار. پروژه رو کامپایل کن و از Dll جدید استفاده کن. ولی .....
    اول اینکه بهتره که تایپ نکنه تا تاریخ اشتباهی وارد نشه که حالا مجبور باشیم اون رو هندل کنیم. حالا به جای تایپ تو خود DropDown کاربر تو NumericUpDown هایی که استفاده شده تایپ کنه. زودتر هم به نتیجه میرسه
    دوم اینکه فقط با set کردن پراپرتی گفته شده کارتون راه نمیافته چون من مقدار FarsiSelectedDate رو تو ایونت CellClick از گرید Set کردم و تغییر تکست DropDown کار این ایونت رو انجام نمیده و مجبورید ایونت popupDatePicker.TextChange رو خودتون طبق ایونت CellClick گفته شده بنویسید و البته تمام کنترلهای لازم رو هم برای وارد نشدن تاریخ اشتباه انجام بدید.

    مجددا گفتن
    میدونی برای چی این قضیه رو گفتن چون من یه مدت بود ار تقویم تلریک استفاده می کردم داخل تقویم تلریک با کلید بالا و پایین می تونیم تاریخ رو کم وزیاد کنیم و اینکه به راحتی عدد وارد کنیم وقتی تاریخ رو به شمسی تبدیل می کردم کلید بالا وپایین خوب کار می کرد یعنی وقتی من روز ها را بالا می بردم وقتی ماه سی روز بود بعد از سی روز دیگه 31 نمی شد و یه عدد به ماه اضافه می شدتنها مشکلی که داره اینه وقتی حالت شمسی هست به صورت دستی وارد می کنیم اشتباه میزنه یه عدد دیگه ولی میلادی جواب میده
    شما خیلی تقویم بسیار عالی درست کردید واقعا داخل .net همچین تقویمی نیاز است اما وقتی کاربر با صفحه کلید کار میکنه دیگه دوست نداره که از موس استفاده کنم اگه کاربر بتونه تو همون لحظه تایپ کنه وبره سراغ کنترل بعدی البته این نظرم من بود (اگه این دو قسمت که گفتم داشته باشه دیگه هیچی کم نداره)
    بازم از شما متشکرم بابت این تقویم بسیار زیبا مخصوصا که روز های تعطیل هم داخل اون هست
    و جواب:
    واسه کار با کیبورد
    فایل FarsiCalendar رو تو حالت دیزاین باز کن و از پنجره پراپرتی کنترل Popup رو انتخاب کن و ایونت های KeyDown و KeyUp رو ایجاد کن براش و 3 تا متغیر تعریف کن مثلا به اسم _yPress, _mPress, _dPress از نوع bool که نشون میدن کدوم کلید الان فشرده شده (Y/M/D). تو keyDown از مقدار e.KeyCode استفاده کن و با یه سویچ کیس تشخیص بده کدوم یکی از این 3 تا فشرده شده و متغیر مربوط به اون رو true کن. تو ایونت KeyUp هم از همین استفاده کن و اینبار مقدار کلیدی که رها شده رو false کن.
    تو ادامه کدای keyDown یه سویچ کیس دیگه قرار بده و 2 حالت e.keyCode = Keys.Up و Keus.Down رو بررسی کن و داخل هر کدوم 3 تا if که مشخص میکنه کدوم قسمت تاریخ باید تغییر کنه. اگه yPress_ برابر true بود، تو بخش Keys.up یعنی سال رو باید 1 واحد ببری جلو. یعنی
    ((Value.SelectedFarsiDate = FarsiDateHelper.GetShortFarsiDate(Value.GregorianS electedDate.AddYear(1
    واسه yPress_ برابر true و Keys.Down هم همین کد رو استفاده میکنی فقط به جای 1 میزازی 1-
    این واسه سال.
    واسه ماه هم از mPress_ و برای روز هم از dPress_ استفاده میکنی.
    در اصل با ترکیب کلیدهای Y + Up/Down مقدار سال و کلیدهای M +Up/Down مقدار ماه و کلیدهای D + Up/Down مقدار روز رو تغییر میدیم.
    10و 15 خط کد بیشتر نیست. پیاده سازیش با خودتون

    خلاصه اینکه من کدهای این کامپوننت رو هم قرار دادم که دوستان هم اگه شد روش کار کنن و اون چیزایی که مد نظرشون هست رو بهش اضافه کنن و بزارن اینجا واسه استفاده بقیه
    به هر حال، کار با کیبورد رو هم به این کامپوننت اضافه کردم. کلاس FarsiCalendar رو که تو همین پست پیوست کردم کافیه جایگزین فایل FarsiCalendar.cs بشه. بعدش پروژه رو یک بار کامپایل کنید و از کامپوننت استفاده کنید
    تو حالت DatePicker طبق گفته قبلی، بخشهای تاریخ رو میتونید کم و زیاد بکنید
    با ترکیب کلیدهای Y + Up/Down مقدار سال و کلیدهای M +Up/Down مقدار ماه و کلیدهای D + Up/Down مقدار روز رو تغییر میدیم
    موفق باشید
    فایل های ضمیمه فایل های ضمیمه

تاپیک های مشابه

  1. خبر: دانلود کنید:کامپوننت پرینت از هر قسمت از صفحه
    نوشته شده توسط Himalaya در بخش ASP.NET Web Forms
    پاسخ: 23
    آخرین پست: دوشنبه 17 مرداد 1390, 12:10 عصر
  2. (دانلود کنید) آموزش ساخت Setup با VisuallStudio
    نوشته شده توسط مهدی رحیم زاده در بخش Setup و Deployment
    پاسخ: 11
    آخرین پست: سه شنبه 10 خرداد 1390, 12:36 عصر
  3. خبر: دانلود کنید: کامپوننت تصاویر امنیتی همراه با سورس کد
    نوشته شده توسط Himalaya در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: دوشنبه 12 اردیبهشت 1390, 23:37 عصر
  4. دانلود کنید :: پروژه دفتر تلفن با جاوا
    نوشته شده توسط sam166 در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 0
    آخرین پست: جمعه 17 دی 1389, 20:44 عصر
  5. خبر: دانلود کنید: کامپوننت (Jquery Slide Show (visual LightBox
    نوشته شده توسط Himalaya در بخش ASP.NET Web Forms
    پاسخ: 9
    آخرین پست: شنبه 27 آذر 1389, 12:16 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •