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

نام تاپیک: کد وارد کردن عدد در textbox

  1. #1

    کد وارد کردن عدد در textbox

    با سلام :
    چه کدی در رویداد keypress مربوط به textbox میشه نوشت که فقط و فقط عدد وارد بشه؟؟؟

  2. #2

    نقل قول: کد وارد کردن عدد در textbox

    سلام

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {

    if (e.KeyChar < '0' || e.KeyChar > '9')
    e.Handled = true;
    }

  3. #3
    کاربر جدید آواتار behnamjafarzadeh
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    تهران
    پست
    7

    نقل قول: کد وارد کردن عدد در textbox

    نقل قول نوشته شده توسط Arash-For-Life مشاهده تاپیک
    با سلام :
    چه کدی در رویداد keypress مربوط به textbox میشه نوشت که فقط و فقط عدد وارد بشه؟؟؟

    یه چیز هم به جواب دوستم اضافه کنم من برای فقط فارس نوشتن از این حالت استفاده می کنم
    خودت دقت کن دیگه هر تغییر ی می تونی
    موفق باشی

    private void textBox_KeyPress(object sender, KeyPressEventArgs e)
    {
    char ch;
    ch = e.KeyChar;
    if ((ch <= '0' && ch >= '9') || (ch > 'A' && ch < 'z'))
    {
    e.Handled = true;
    }
    }

  4. #4

    نقل قول: کد وارد کردن عدد در textbox

    این کدها اگه طرف عدد رو کاپی-پیست هم بکنه جواب میده؟

  5. #5

    نقل قول: کد وارد کردن عدد در textbox

    سلام
    نه
    ایشون یه کد واسه رویداد keypress می خاستن
    چیزی که شما می خواین واسه رویداد TextChanged هستش

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    int a = textBox1.SelectionStart;
    try
    {
    // you can use advanced function to conver your string to numerical value
    // but for this simple example i use Convert.ToDouble method
    // is not work carefully, you define a function like val in VB
    textBox1.Text = Convert.ToDouble(textBox1.Text).ToString();
    textBox1.SelectionStart = a;
    }catch{ // not a numerical value
    textBox1.Text = "0";
    }
    }


    پیشنهاد می کنم برای سبک تر شدن عملیات ها قبل از پیست مقدار بررسی اش کنید و از TextChanged استفاده نکنید

  6. #6

    نقل قول: کد وارد کردن عدد در textbox

    نقل قول نوشته شده توسط Arash-For-Life مشاهده تاپیک
    با سلام :
    چه کدی در رویداد keypress مربوط به textbox میشه نوشت که فقط و فقط عدد وارد بشه؟؟؟
    کد های قبلی درسته؛ اما اگه کاراکتری رو اشتباه وارد کنید، دیگه Backspace کار نمیکنه!

    این کد به نظرم کامله :

    private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (e.KeyChar == '\b')
    {
    e.Handled = false;
    return;
    }

    if (e.KeyChar < '0' || e.KeyChar > '9')
    e.Handled = true;
    }


    در مورد Copy ، Paste میتونید کلیک راست و Ctrl+V رو در TextBox غیرفعال کنید.

  7. #7

    نقل قول: کد وارد کردن عدد در textbox

    نقل قول نوشته شده توسط Pr0grammer مشاهده تاپیک
    کد های قبلی درسته؛ اما اگه کاراکتری رو اشتباه وارد کنید، دیگه Backspace کار نمیکنه!

    این کد به نظرم کامله :

    private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (e.KeyChar == '\b')
    {
    e.Handled = false;
    return;
    }

    if (e.KeyChar < '0' || e.KeyChar > '9')
    e.Handled = true;
    }


    در مورد Copy ، Paste میتونید کلیک راست و Ctrl+V رو در TextBox غیرفعال کنید.
    کامل نیست. اگه تونستی توش تایپ کنی 12.49
    حالا نمایش توان علمی اعداد هم بیخیال مثلا 1.23E+2


    برای ایده گرفتن ، - یک ایده - ، کافی بود ماشین حساب ویندوز رو اجرا کنید! با کمی دقت متوجه میشید که محلی که در اون تایپ میکنید رو اصلا از تسکت باکس استفاده نکرده اند . بلکه از Label استفاده کرده اند . اولین خاصیتش هم اینکه فکرتون از بابت مشکل کپی-پیست راحت میشه. فقط هم کاپی -پیست نیست . context menu رو هم باید در نظر گرفت و امکان paste ئئ که در تکست باکس میده!

    راه دوم هم این بود که وارد سایت گوگل شوید :
    نتیجه:
    http://www.codeproject.com/KB/edit/TNumEditBox.aspx

  8. #8

    نقل قول: کد وارد کردن عدد در textbox

    من قصدم توهین نیست. یه وقت ناراحت نشین

    برای ایده گرفتن ، - یک ایده - ، کافی بود ماشین حساب ویندوز رو اجرا کنید! با کمی دقت متوجه میشید که محلی که در اون تایپ میکنید رو اصلا از تسکت باکس استفاده نکرده اند . بلکه از Label استفاده کرده اند . اولین خاصیتش هم اینکه فکرتون از بابت مشکل کپی-پیست راحت میشه. فقط هم کاپی -پیست نیست . context menu رو هم باید در نظر گرفت و امکان paste ئئ که در تکست باکس میده!
    دوست عزیز شما لازمه یک بار دیگه سوال رو بخونید
    چه کدی در رویداد keypress مربوط به textbox میشه نوشت که فقط و فقط عدد وارد بشه؟؟؟
    می دونید منظور از فقط و فقط چیه ؟؟؟؟
    بگین تا منم بدونم چه نیازی به این هستش تا واسه یک کد دو خطی یه لینک به یه صفحه دیگه بذارم
    بعدش از اونجا که جواب تمام سوال ها تو گوگل هست بیاین دیگه در فروم ها رو ببندیم دیگه! چه کاریه! اونم تو سال (مثلا) اصلاح الگوی مصرف.

    بعدش شما رو چه حسابی می گی ماشین حساب ویندوز اون بالاش لیبله نه تکس باکس
    یه برنامه ریسورس ور دار خودت می بینی که واضع نوشته نوعش Edit هستش و هیچ ربطی هم به کپی و اینجور چیزهای پیش پا افتاده نداره.
    بعدش اگه خوب به ماشین حساب ویندوز نگاه کنی می بینی هیچ وقت فوکوس روی کنترل ها قرار نمی گیره و همش رو خود فرم هستش. اونا هم (اکثراً) روی رویداد های فرم برنامه نوشته اند نه روی تکس باکس یا هر چیز دیگه ای. که باعث شده کنترل کلی برنامه راحت بشه.

  9. #9

    نقل قول: کد وارد کردن عدد در textbox

    نقل قول نوشته شده توسط nasser_ray مشاهده تاپیک
    سلام

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {

    if (e.KeyChar < '0' || e.KeyChar > '9')
    e.Handled = true;
    }
    دوست عزیز شما لازمه یک بار دیگه سوال رو بخونید
    نقل قول:
    چه کدی در رویداد keypress مربوط به textbox میشه نوشت که فقط و فقط عدد وارد بشه؟؟؟
    می دونید منظور از فقط و فقط چیه ؟؟؟؟
    بگین تا منم بدونم چه نیازی به این هستش تا واسه یک کد دو خطی یه لینک به یه صفحه دیگه بذارم
    بعدش از اونجا که جواب تمام سوال ها تو گوگل هست بیاین دیگه در فروم ها رو ببندیم دیگه! چه کاریه! اونم تو سال (مثلا) اصلاح الگوی مصرف.
    کد بقول خودتون دو خطی که شما نوشته بودید:
    1- BackSpace توش کار نمیکنه. یعنی کاربری که عددی رو اشتباه وارد کرد ، بدبخت میشه! مگر اینکه بره سراغ دکمه Delete .
    2- اعداد اعشاری رو هم قبول نمیکنه . کد آقای جعفرزاده و کد آقای Programmer هم همینطور . توی هیچ کدوم نمیشه تایپ کرد 12.49 !

    بعدش از اونجا که جواب تمام سوال ها تو گوگل هست بیاین دیگه در فروم ها رو ببندیم دیگه! چه کاریه! اونم تو سال (مثلا) اصلاح الگوی مصرف.
    بنظر من کارکرد فروم این هست که یک سناریوهای خاصی که برای افراد پیش میاد و داخلش مشکل دارند یا یک کاری رو میخواهند انجام دهند که هیچ ایده ای در موردش ندارند و بنابراین حتی یک keyword هم ازش نمیدونه رو بیاد توی فروم مطرح کنه و نظرات دیگران رو جویا بشه . قبلا هم این موضوع رو در انجمن مدیران مطرح کرده بودم : جلوگیری کردن از تاپیک اسپم علمی! در بخشها!

  10. #10
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: کد وارد کردن عدد در textbox

    نقل قول نوشته شده توسط nasser_ray مشاهده تاپیک
    من قصدم توهین نیست. یه وقت ناراحت نشین

    ...(یکسری حرفهایه درست و منطقی)

    .
    فایده نداره، اگر حرف درست و منطقی بگی بازهم اشخاصی هستند که گفتن اشکالات را به شخصی میگیرند، باید از اول قبول کنی که به هر سازی برقصی بازهم یکی ناراحت میشه (من برایه خودم قبول کردم).
    هر چقدر گفتم که به جایه اینکه بگید توهین میکنم زیره قسمت توهین شخصی را خط بکشید (که من بفهمم به چی توهین گفته میشه) و بفرستند، کسی هیچ وقت هیچ چی نفرستاد (ولی بازهم در مورد اینکه به شخص اشکال گرفته میشد و نه به روش باور داشتند).
    باید قبول کرد هر کی هر چی بخواهد را میبینه، اگر کسی دنبال بهتر شدن است ، با گفته شدن اشکالات روشش را بهتر میکنه، و کسی که مشکلات شخصیتی دارد ، به هر حال مشکلات شخصیتی را میبینه.
    اگر چه فارسی یک حالت حقارتی دارد، اگر یک چیز را در فارسی بگی بیشتر حالت اینکه داری توسر میزنی دارد ولی اگر به انگلیسی گفته شه حالت خبری و اطلاعاتی دارد.
    همین "تو گوگل سرچ کن" را در نظر بگیر، در فارسی بهشان بر میخوره، در انگلیسی میشه "Do a google search" ، حالت اطلاعاتی دارد، یک چیزی یاد میگرند و تشکر هم میکنند.
    فکر کنم من هم باید هر جوابم را با "این جواب توهین نیست" شروع کنم که مبادا از شنیدن حرف درست و منطقی به کسی بر بخورد..

  11. #11

    نقل قول: کد وارد کردن عدد در textbox

    دوستان، به جای ادامه این بحث و منحرف کردن تاپیک، کد کاملتر رو قرار بدید یا سوال خودتون رو مطرح کنید!

    از اونجا که ایجادکنندۀ تاپیک ، حرف از نقطه اعشار یا نمایش توان علمی نزدند، کدی که قرار دادم، کامل هست! ولی برای نقطه اعشار میشه خط اول کد رو این جوری تغیر داد :
     if (e.KeyChar == '\b' || e.KeyChar =='.')
    موفق باشید/
    آخرین ویرایش به وسیله Pr0grammer : دوشنبه 11 آبان 1388 در 09:16 صبح

  12. #12

    نقل قول: کد وارد کردن عدد در textbox

    نقل قول نوشته شده توسط Pr0grammer مشاهده تاپیک
    دوستان، به جای ادامه این بحث و منحرف کردن تاپیک، کد کاملتر رو قرار بدید یا سوال خودتون رو مطرح کنید!

    از اونجا که ایجادکنندۀ تاپیک ، حرف از نقطه اعشار یا نمایش توان علمی نزدند، کدی که قرار دادم، کامل هست! ولی برای نقطه اعشار میشه خط اول کد رو این جوری تغیر داد :
     if (e.KeyChar == '\b' || e.KeyChar =='.')
    موفق باشید/
    کار نمیکند !!

  13. #13

    نقل قول: کد وارد کردن عدد در textbox

    گفتم یک کد بنویسم که هم عدد اعشاری بگیره و هم عدد صحیح و بک اسپیس هم داشته باشد ، ضمنا فقط یک ممیز به کاربر اجازه میده وارد کنه یعنی اینجوری نمیزاره بشه 0.233.4 و ....

    نتیجه این :

    کد در رویداد KeyPress تکست باکس قرار بدهید


    if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != '.')
    {
    e.Handled = true;
    }

    // فقط اجازه ورود یک ممیز را میدهد
    if (e.KeyChar == '.'
    && (sender as TextBox).Text.IndexOf('.') > -1)
    {
    e.Handled = true;
    }


  14. #14
    کاربر دائمی آواتار rezam44
    تاریخ عضویت
    دی 1391
    محل زندگی
    اردبیل
    پست
    152

    نقل قول: کد وارد کردن عدد در textbox

    نقل قول نوشته شده توسط nasser_ray مشاهده تاپیک
    سلام

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {

    if (e.KeyChar < '0' || e.KeyChar > '9')
    e.Handled = true;
    }

    نشد
    http://ww1.p.ht/up/754e06e46dfa.jpg

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

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