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

نام تاپیک: وارد کردن فقط عدد در Textbox

  1. #1

    وارد کردن فقط عدد در Textbox

    دوستان واسه وارد کردن فقط عدد در Textbox از این کدهای استفاده کردم توی رویداد keypress تکس باکس
    if (!char.IsControl(e.KeyChar)&& !char.IsDigit(e.KeyChar)  && e.KeyChar != '.')

    {
    e.Handled = true;
    }

    یکی توضیح میده اینا چی کار میکنن؟ آخه از یه سایت خارجی گرفتم اینو نمیدونم چی به چیه

  2. #2

    نقل قول: وارد کردن فقط عدد در Textbox

    از این استفاده کن (تو KeyPress تکست باکست) بهتره :


    if (!(e.KeyChar >= '0' && e.KeyChar <= '9'))//a
    e.Handled = true;//b

    جزئیاتشم که مشخصه متوجه میشی !؟
    KeyChar که یعنی هر کاراکتری که کاربر بواسطه کیبورد درون تکست باکس وارد میکند.
    گفتم که اگه کاراکترها بین اعداد صفر تا 9 نبودند اجازه وارد کردن رو ندهد .

  3. #3

    نقل قول: وارد کردن فقط عدد در Textbox

    سلام دوست عزیز:
    من برای این کار که تکستباکس فقط عدد را قبول کند از این کد استفاده می کنم که خوب جواب میده.
    if (char.IsLetter(e.KeyChar)==true)
    {
    e.Handled = true;
    }

    موفق باشی
    Voice of Silence

  4. #4

    نقل قول: وارد کردن فقط عدد در Textbox

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


    if (!(e.KeyChar >= '0' && e.KeyChar <= '9'))//a
    e.Handled = true;//b

    جزئیاتشم که مشخصه متوجه میشی !؟
    KeyChar که یعنی هر کاراکتری که کاربر بواسطه کیبورد درون تکست باکس وارد میکند.
    گفتم که اگه کاراکترها بین اعداد صفر تا 9 نبودند اجازه وارد کردن رو ندهد .
    مرسی..فقط یه سوال..
    e.Handled=True یعنی چی؟

  5. #5

    نقل قول: وارد کردن فقط عدد در Textbox

    نقل قول نوشته شده توسط voice.of.silence مشاهده تاپیک
    سلام دوست عزیز:
    من برای این کار که تکستباکس فقط عدد را قبول کند از این کد استفاده می کنم که خوب جواب میده.
    if (char.IsLetter(e.KeyChar)==true)
    {
    e.Handled = true;
    }

    موفق باشی
    Voice of Silence
    مرسی دوست عزیز..اگه اون خط شرط رو توضیح بدی ممنون میشم

  6. #6

    نقل قول: وارد کردن فقط عدد در Textbox

    نقل قول نوشته شده توسط pro_man مشاهده تاپیک
    مرسی..فقط یه سوال..
    e.Handled=True یعنی چی؟
    گفتم که e.handle اگه true باشه .یعنی که کاربر حق وارد کردن هیچ کاراکتر به جز کاراکترهای شرط if را نداره .

  7. #7
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: وارد کردن فقط عدد در Textbox

    سلام
    دوستان تمامی این روش ها مشکل داره، خواهشا این شیوه های غلط رو ترویج ندید!
    اگه یک رشته ی شامل حروف هم درون اون تکس باکس Copy و بعد Paste کنید می بینید حروف رو هم میگیره پس خود این یه باگه !
    آخه MaskedTextBox هست اونوقت بریم کد نویسی!
    کافیه یک maskedTextBox بزاری و Mask اون رو روی Numeric بزاری و تعداد اعدادت هم تنظیم کنی همین !
    موفق باشید

  8. #8

    نقل قول: وارد کردن فقط عدد در Textbox

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    سلام
    دوستان تمامی این روش ها مشکل داره، خواهشا این شیوه های غلط رو ترویج ندید!
    اگه یک رشته ی شامل حروف هم درون اون تکس باکس Copy و بعد Paste کنید می بینید حروف رو هم میگیره پس خود این یه باگه !
    آخه MaskedTextBox هست اونوقت بریم کد نویسی!
    کافیه یک maskedTextBox بزاری و Mask اون رو روی Numeric بزاری و تعداد اعدادت هم تنظیم کنی همین !
    موفق باشید
    بله حرف شما کاملاً درسته ولی اولاً شاید دوستمان بخواهد یک عددی درج کند که طول آن متغیر باشد .ماسک textBox برای زمانی است که کاربر میخواهد یک چیز مشخصی مانند شماره شناسنامه ,معدل , تاریخ و ... را وارد کند . البته درست میگید که اگه کاربر بخواهد از جایی کپی پیست کند حروف هم شامل میشه . خب میتونه تو رویداد KeyDown بنویسه :


    private void textBox1_KeyDown(object sender, KeyEventArgs e) {//c
    if (e.Control == true)//j
    {
    MessageBox.Show("Cut/Copy and Paste Options are disabled");//k
    textBox1.Focus();//f
    }
    }


    تو mouse Down هم بنویسه



    private void textBox1_MouseDown(object sender, KeyEventArgs e) {//c

    ContextMenu cm = new ContextMenu();//j
    textBox1.ContextMenu = cm;//h
    textBox1.Focus();//f
    }


    البته راه های آسونتر هم هست ولی فکر کنم برای دوستمون سخت باشه .
    آخرین ویرایش به وسیله harani : پنج شنبه 13 مهر 1391 در 14:52 عصر

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تو فضا
    پست
    34

    نقل قول: وارد کردن فقط عدد در Textbox

    سلام دوست عزیز
    اگه میخوای فقط عدد وارد کنی یکی از دوستان یه ابزار به نام txtpronet نوشته که تو همین سایته اگه یه جستجوی کوتاه بکنی حتما پیداش می کنی چندتا از خاصیت هاشو میگم ، خیلی کارو راحت می کنه
    تایپ فقط فارسی در تکس باکس
    تایپ فقط انگلیسی در تکس باکس
    تایپ فقط عدد در تکس باکس
    گذاشتن ویلگول بین اعداد مثل 120,000
    ....امیدوارم مفید باشه

  10. #10
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    مشهد
    پست
    281

    نقل قول: وارد کردن فقط عدد در Textbox

    با این کد مشکل کپی پست هم حل می شود!


    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    If Not Char.IsNumber(e.KeyChar) AndAlso Not Char.IsControl(e.KeyChar) Then
    e.Handled = True
    End If
    End Sub







    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    Dim digitsOnly As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("[^\d]")
    TextBox1.Text = digitsOnly.Replace(TextBox1.Text, "")
    End Sub




    f you want to allow decimals, add
    AndAlsoNot e.KeyChar ="."to the if statement in the KeyPress section.







    اگر متن کپی شده در حافظه دارای اعداد باشد فقط اعداد جایگذاری می شوند و حروف زائد حذف می شوند.
    آخرین ویرایش به وسیله Hadiir.net : چهارشنبه 13 شهریور 1398 در 05:16 صبح

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    مشهد
    پست
    281

    نقل قول: وارد کردن فقط عدد در Textbox

    NumericTextBoxWithCopyPaste.rarنمونه پروژه کدهای تست شده:

  12. #12

    نقل قول: وارد کردن فقط عدد در Textbox

    شما این کد را توی روی داد Keypress باری TextBox کپی کن ، امکان وارد کردن فقط عدد ممکن میشه و کپی پیست هم کار نمیکنه
    if (!char.IsDigit(e.KeyChar))
    {
    if (e.KeyChar != '\b')
    e.Handled = true;
    }

  13. #13
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1399
    محل زندگی
    سراوان
    سن
    31
    پست
    32

    نقل قول: وارد کردن فقط عدد در Textbox

    اینم یه روش کلی که کاربر رو وادار می کنه فقط عدد تایپ کنه و Ctrl + v , راست کلیک رو غیر فعال می کنه

    ///ورودی فقط عدد
    private void textbox1_KeyPress(object sender, KeyPressEventArgs e)
    {
    e.Handled = (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar));
    }

    ///غیر فعال کردن Ctrl+V
    private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.Control && e.KeyValue == 86)
    {
    e.Handled = true;
    e.SuppressKeyPress = true;
    }
    }
    ///غیر فعال کردن راست کلیک
    private void textbox1_MouseDown(object sender, MouseEventArgs e)
    {
    textbox1.ContextMenu = new ContextMenu();
    }


  14. #14

    نقل قول: وارد کردن فقط عدد در Textbox

    نقل قول نوشته شده توسط alex037 مشاهده تاپیک
    شما این کد را توی روی داد Keypress باری TextBox کپی کن ، امکان وارد کردن فقط عدد ممکن میشه و کپی پیست هم کار نمیکنه
    if (!char.IsDigit(e.KeyChar))
    {
    if (e.KeyChar != '\b')
    e.Handled = true;
    }
    سلام
    من این کد را امتحان کردم؛ درست نیست و کپی، پیست هم کار می کند و رشته و حروف وارد تکست باکس می شود؟؟

  15. #15

    نقل قول: وارد کردن فقط عدد در Textbox

    تمامی این روش ها اشکالاتی دارن بعدا یک نمونه کد مینویسم که این مشکلات رو نداشته باشه...

  16. #16

    نقل قول: وارد کردن فقط عدد در Textbox


    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if(!(e.KeyCode>= Keys.NumPad0 && e.KeyCode <=Keys.NumPad9 || e.KeyCode>= Keys.D0 && e.KeyCode<= Keys.D9 && ! e.Shift || e.KeyCode == Keys.Back))
    {
    e.SuppressKeyPress = true;
    }
    }



    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    for(int i =0; i<textBox1.Text.Length; i++)
    {
    if (textBox1.Text[i] == '0' || textBox1.Text[i]== '1' || textBox1.Text[i] == '2' || textBox1.Text[i] == '3'|| textBox1.Text[i] == '4' || textBox1.Text[i]== '5'|| textBox1.Text[i] == '6' || textBox1.Text[i] == '7'|| textBox1.Text[i] == '8' || textBox1.Text[i] == '9')
    {
    //هیچ کاری نکن
    }
    else
    {
    textBox1.Text = "";


    }

    }


    }

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

  1. سوال: مشکل با وارد کردن فقط عدد توسط RegularExpressionValidator
    نوشته شده توسط reza4359 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: شنبه 10 دی 1390, 11:54 صبح
  2. سوال ؟ وارد کردن فقط عدد در تکست باکس همراه با علامت ممیز
    نوشته شده توسط hosein3000 در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: دوشنبه 23 آبان 1390, 10:58 صبح
  3. مبتدی: وارد کردن فقط عدد و دادن پیغام خطا به صورت فارسی
    نوشته شده توسط mahdi_7610 در بخش Access
    پاسخ: 4
    آخرین پست: شنبه 19 شهریور 1390, 09:06 صبح
  4. وارد کردن فقط عدد در input(textbox)
    نوشته شده توسط صنم در بخش Classic ASP
    پاسخ: 4
    آخرین پست: پنج شنبه 04 اسفند 1384, 07:39 صبح
  5. وارد کردن فقط عدد در Text
    نوشته شده توسط Mahdi_S_T در بخش طراحی وب (Web Design)
    پاسخ: 3
    آخرین پست: دوشنبه 11 مهر 1384, 22:33 عصر

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

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