کد برای تکست باکس های که برای داده های اعشاری مورد استفاده قرار می گیرد
در اکثر زمان ها پیش می آید که شما احتیاج دارید تکست باکس را برای مقادیر اعشاری استفاده نمایید که کاربر با وارد کردن ورودی به خطا یا سردرگمی مبتلا نشود
می توانید از کد زیر تا دو رقم اعشار در تکست باکس استفاده نمایید .
کد مثال برای سی شارپ :
لینک کد در 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; } }
درست ممنون از شما دوست عزیز کد کار کرد با تشکر
تا چند رقم اعشار نمایش می دهد آقای رجایی
تا دو رقم اعشار که اگر خواستید می توانید بیشتر کنید اگر مشکلی داشتید بفرمایید با تشکر