【轉】WinForm中TextBox只能輸入數字

只能輸入整數

方法一

private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
    //如果輸入的不是退格和數字,則屏蔽輸入
    if (!(e.KeyChar == '\b' || (e.KeyChar >= '0' && e.KeyChar <= '9')))
    {
        e.Handled = true;
    }
}

e.KeyChar >= ‘0’ && e.KeyChar <= ‘9’ //表示輸入的是數字
e.Handled = true; //true表示已經處理該事件,則屏蔽輸入

方法二

private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
    //如果輸入的不是退格和數字,則屏蔽輸入
    if (!(e.KeyChar == 8 || (e.KeyChar >= 48 && e.KeyChar <= 57)))
    {
        e.Handled = true;
    }
}

8代表退格,48代表0,57代表9,46代表小數點

方法三

private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
    //如果輸入的不是退格和十進制數字,則屏蔽輸入
    if (!(e.KeyChar == '\b' || char.IsDigit(e.KeyChar)))
    {
        e.Handled = true;
    }
}

方法四

private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
    //如果輸入的不是退格且不能轉爲整數,則屏蔽輸入
    if (!(e.KeyChar == '\b' || int.TryParse(((TextBox)sender).Text + e.KeyChar.ToString(), out int i)))
    {
        e.Handled = true;
    }
}

只能輸入小數

方法一

private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
    //當前輸入的是"."且(輸入框已經有“.”或者文本框沒有內容),則屏蔽輸入
    if (e.KeyChar == '.' && (((TextBox)sender).Text.IndexOf(".") != -1 || ((TextBox)sender).Text.Length == 0))
    {
        e.Handled = true;
    }
    //如果輸入的不是退格、數字和點,則屏蔽輸入
    if (!(e.KeyChar == '\b' || (e.KeyChar >= '0' && e.KeyChar <= '9') || e.KeyChar == '.'))
    {
        e.Handled = true;
    }
}

方法二

private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
    //如果輸入的不是退格且不能轉爲小數,則屏蔽輸入
    if (!(e.KeyChar == '\b' || float.TryParse(((TextBox)sender).Text + e.KeyChar.ToString(), out float f)))
    {
        e.Handled = true;
    }
}

只能輸入數字(包含負數)

private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
    //如果輸入的不是負號,退格且不能轉爲小數,則屏蔽輸入
    if (!(e.KeyChar == '-'|| e.KeyChar == '\b' || float.TryParse(((TextBox)sender).Text + e.KeyChar.ToString(), out float f)))
    {
        e.Handled = true;
    }
}

本文轉載自:https://blog.csdn.net/weixin_38211198/article/details/89214705

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章