WinForm—控制文本框只能輸入整數(包括小數)


//控制控件輸入的是正數(包括小數)
        private void txt_Weight_KeyPress(object sender, KeyPressEventArgs e)
        {
            //第一步:判斷輸入的是否是數字——char.IsNumber(e.KeyChar)
            //如果是數字,可以輸入(e.Handled = false;)
            //如果不是數字,則判斷是否是小數點
            if (char.IsNumber(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                //判斷輸入的是否是小數點,或中文狀態下的句號,或者是退格鍵
                //如果是小數點,循環判斷每個字符是不是小數點,如果存在不能輸入,如果不存在允許輸入
                //如果是退格鍵,允許輸入——if (e.KeyChar == '\b')
                //如果不是小數點也不是退格鍵,不允許輸入
                if (e.KeyChar == Convert.ToChar("") || e.KeyChar == Convert.ToChar("."))
                {
                    int i_d = 0;
                    for (int i = 0; i < txt_Weight.Text.Length; i++)
                    {
                        if (txt_Weight.Text.Substring(i, 1) == ".")
                        {
                            e.Handled = true;
                            i_d++;
                            return;
                        }
                    }
                    if (i_d == 0)
                    {
              e.KeyChar = Convert.ToChar(".");//設置按鍵輸入的值為"." e.Handled
= false; } } else if (e.KeyChar == '\b') { e.Handled = false; } else { e.Handled = true; } } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM