نمایش نتایج 1 تا 19 از 19

نام تاپیک: نمایش عدد به همراه جدا کننده ی 3 رقم 3 رقم !

  1. #1
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367

    Smile نمایش عدد به همراه جدا کننده ی 3 رقم 3 رقم !

    سلام دوستان

    میخوام بدونم چیجوری میتونم یک عدد رو که کاربر داخل textBox تایپ میکنه(در حین تایپ کردن)، و یا وقتی میخواهیم یک عدد رو در خروجی نمایش بدهیم، به صورت 3 رقم 3 رقم ارقامش از هم جدا باشه!

    مثل این:
    12,300,000

    خیلی خیلی ممنونم

  2. #2
    نقل قول نوشته شده توسط newgoldenman مشاهده تاپیک
    سلام دوستان

    میخوام بدونم چیجوری میتونم یک عدد رو که کاربر داخل textBox تایپ میکنه(در حین تایپ کردن)، و یا وقتی میخواهیم یک عدد رو در خروجی نمایش بدهیم، به صورت 3 رقم 3 رقم ارقامش از هم جدا باشه!

    مثل این:
    12,300,000

    خیلی خیلی ممنونم

    سلام.

    String s = String.Format("{0:N}", 12345);

  3. #3
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367
    خیلی خیلی ممنونم
    دوست عزیز
    برای textBox باید چیکار کنم؟!
    کاربر در حین تایپ کردن، هر سه رقمی که وارد میکنه، یه دونه جدا کننده خود به خود ظاهر بشه!!!

    باز هم ممنونم

  4. #4
    نقل قول نوشته شده توسط newgoldenman مشاهده تاپیک
    خیلی خیلی ممنونم
    دوست عزیز
    برای textBox باید چیکار کنم؟!
    کاربر در حین تایپ کردن، هر سه رقمی که وارد میکنه، یه دونه جدا کننده خود به خود ظاهر بشه!!!

    باز هم ممنونم
    سلام.
    یه کلاس جدید، مثلا TextBoxEx از کلاس TextBox درایو کنید و در متود OnKeyDown، محتوی TextBox رو به اون چیزی که میخواهید تغییر بدید (مثلا در محل مناسب کاما insert کنید). هر وقت که کاما insert کردید، Handled Property رو روی KeyEventArgs ورودی این تابع، set کنید تا کلاس پدر متوجه بشه که شما خودتون فشرده شدن کلید رو handle کردین...

  5. #5
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367
    نقل قول نوشته شده توسط mehdi6755 مشاهده تاپیک
    سلام.
    یه کلاس جدید، مثلا TextBoxEx از کلاس TextBox درایو کنید و در متود OnKeyDown، محتوی TextBox رو به اون چیزی که میخواهید تغییر بدید (مثلا در محل مناسب کاما insert کنید). هر وقت که کاما insert کردید، Handled Property رو روی KeyEventArgs ورودی این تابع، set کنید تا کلاس پدر متوجه بشه که شما خودتون فشرده شدن کلید رو handle کردین...
    دوست عزیز
    از راهنماییتون متشکرم
    یه سوال دارم، این محل مناسب مهم هست که در صورت پاسخ به این سوال، میشه یه کارایی کرد! اگر کلیدهای زده شده توسط کاربر رو بشمریم، میشه! ولی اگر کاربر عددش رو Copy Paste کنه چی؟ !

    ممنون میشم اگر نمونه ی آماده ای دارید، برام قرار بدین

  6. #6
    نقل قول نوشته شده توسط newgoldenman مشاهده تاپیک
    دوست عزیز
    از راهنماییتون متشکرم
    یه سوال دارم، این محل مناسب مهم هست که در صورت پاسخ به این سوال، میشه یه کارایی کرد! اگر کلیدهای زده شده توسط کاربر رو بشمریم، میشه! ولی اگر کاربر عددش رو Copy Paste کنه چی؟ !
    ممنون میشم اگر نمونه ی آماده ای دارید، برام قرار بدین

    سلام.
    برای متوجه شدن از اینکه text مورد نظر در textbox داره Paste میشه، باید WndProc رو override کنید. سپس اونجا Message دریافتی رو نگاه کنید که آیا WM_PASTE هست یا خیر. اگر WM_PASTE بود، یعنی text داره Paste میشه. اونوقت می تونید text مورد نظر رو از Clipboard بگیرید:


    const Int32 WM_PASTE = 0x302;
    protected override void WndProc(ref Message m)
    {
    if (m.Msg == WM_PASTE)
    {
    String pastedText = Clipboard.GetText();
    }
    //whatever else....

  7. #7
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367
    دوست عزیز باز هم ممنونم از کمکهاتون (;

    خیلی عالی بود، مرسی
    فقط یک سوال دیگه دارم!
    روشی که شما معرفی کردین جواب میده و خیلی هم عالیه
    ولی به نظر شما آیا این درسته که هر بار که کاربر یک کلید میزنه داخل textBox، یک رویداد وارد عمل بشه، یکسری دستورات انجام بده و ...!

    منظورم اینه که، مثلاً برای اینکه توی textBox به کاربر فقط اجازه ی وارد کردن عدد رو بدهیم، باید خودمون کد بنویسیم و هر بار کاراکترهاش رو تست کنیم! همین کار رو میتونیم با maskedTextBox براحتی انجام بدهیم!
    حالا سوال من اینه!
    آیا توی خود کامپوننت هایی که داریم، چنین امکانی گنجانده شده یا نه؟!

    باز هم ممنون میشم اگر نمونه برنامه ی ساده ای هم اگر در دست دارید برام قرار بدین، مرسی

  8. #8
    فکر میکنم textChange مکان مناسب تریه

  9. #9
    نقل قول نوشته شده توسط egoldashraf مشاهده تاپیک
    فکر میکنم textChange مکان مناسب تریه

    سلام.
    اگر در OnTextChanged اینکارو کنید، دیگه فرصت Undo کردن کلید فشرده شده رو ندارید. بدین معنی که اگر مثلا کاربر کلیدی رو فشار بده، ابتدا اون حرف روی TextBox ظاهر میشه و بعد تابع مورد نظر Call میشه. اگر این مساله براتون مشکلی پیش بوجود نیاره، میتونید کد مورد نظرتون رو در این متود بنویسید.

  10. #10
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    در رویداد OnTextChanged چنانچه هر تغییری در text مورد نظر انجام بدید، دوباره همون رویداد OnTextChanged فراخوانی میشه و همینطور الی آخر، نتیجه اینکه برنامه توی حلقه ی بی نهایت میفته و crash میکنه.

  11. #11
    همیشه من از همین رویداد استفاده میکنم. اینکه شما با هر تغییر یه رشته که حاوی عدد باشه رو فرمت بندی کنی هیچ crash رو باعث نمیشه

  12. #12
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367
    نقل قول نوشته شده توسط egoldashraf مشاهده تاپیک
    همیشه من از همین رویداد استفاده میکنم. اینکه شما با هر تغییر یه رشته که حاوی عدد باشه رو فرمت بندی کنی هیچ crash رو باعث نمیشه
    دوست عزیز
    میشه خواهش کنم یک نمونه برای ما قرار بدین

  13. #13
    اینم نمونه!
    فایل های ضمیمه فایل های ضمیمه

  14. #14
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367
    عالی بود دوست عزیز
    ممنونم(;

  15. #15
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629
    با سلام
    در مورد این تاپیک من یه مشکل عجیب دارم،
    این کار رو توى یک وب‌سایت انجام دادم ولى روى بعضى از دستگاه‌ها غلط دیده مى‌شه.
    مثلاً یک صفحه‌ى خاص با تمام شرایط یکسان یکجا عدد به صورت 123,000,000 دیده مىشه و روى بعضى از دستگاه‌ها به صورت 000,123,000 ( همه دستگاه‌ها IE 6.0 دارند ) .

    حدس زدم مربوط به Regional and language options باشه اما هیچ فرقى بین دستگاه‌ها ندیدم.

    صبا صبوحى

  16. #16
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367
    خدمت تمامی دوستان عزیز عرض کنم که خوشبختانه با تلاش خودم و نیز کمک بسیار زیاد دوستان عزیزمون، یک کامپوننت ساختم که دقیقاً همین چیزی هست که دنبالش بودم.
    با یکسری کدهای ساده هم کاری کردم که به جز عدد کاربر نتونه چیز دیگه ای وارد کنه! حتی با Copy-Paste!

    البته ممکنه یکسری مشکلات و باگهایی هم داشته باشه که ممنون میشم یک تست بزنید این کامپوننت رو و نتیجه اش رو اعلام کنید.
    DivShare File - decimalTextBox.rar

  17. #17
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    سن
    42
    پست
    97
    نقل قول نوشته شده توسط egoldashraf مشاهده تاپیک
    اینم نمونه!
    این کد یک ایراد داره
    چون طول رشته رو از روی خاصیت Text حساب میکنه ؛ پس تعداد (،) را نمیشماره

    چی میشه
    123456789 -------> 123.568.974


  18. #18
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    سن
    42
    پست
    97
    ضمنا سایت http://www.divshare.com فیلتره، نمیشه تو خود برنامه نویس آپ کنید

  19. #19
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1384
    سن
    42
    پست
    97
    البته اون مشکل رو من حل کردم

    ولی یه مشکل اساسی داره، اونم اینه که تا 19 عدد رو بیشتر جدا نمی کنه

    12345678901234567890123456789 -------> 123.456.789.012.345.678.90123456789
    فایل های ضمیمه فایل های ضمیمه

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

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