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

در اکثر زمان ها پیش می آید که شما احتیاج دارید تکست باکس را برای مقادیر اعشاری استفاده نمایید که کاربر با وارد کردن ورودی به خطا یا سردرگمی مبتلا نشود

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

کد مثال برای سی شارپ :

لینک کد در Stack OverFlow

 

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar))  //bypass control keys
    {
        int dotIndex = textBox1.Text.IndexOf('.');
        if (char.IsDigit(e.KeyChar))     //ensure it's a digit
        {   //we cannot accept another digit if
            if (dotIndex != -1 &&  //there is already a dot and
                //dot is to the left from the cursor position and
                dotIndex < textBox1.SelectionStart &&
                //there're already 2 symbols to the right from the dot
                textBox1.Text.Substring(dotIndex + 1).Length >= 2)
            {
                e.Handled = true;
            }
        }
        else //we cannot accept this char if
            e.Handled = e.KeyChar != '.' || //it's not a dot or
                        //there is already a dot in the text or
                        dotIndex != -1 ||   
                        //text is empty or
                        textBox1.Text.Length == 0 || 
                        //there are more than 2 symbols from cursor position
                        //to the end of the text
                        textBox1.SelectionStart + 2 < textBox1.Text.Length;
    }
}

شاید این مطالب را هم دوست داشته باشید

۳ پاسخ

  1. عماد زینالی گفت:

    درست ممنون از شما دوست عزیز کد کار کرد با تشکر

  2. همایونی گفت:

    تا چند رقم اعشار نمایش می دهد آقای رجایی

    • سعید رجایی گفت:

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.