马克斯.大小,最大整数和最大字符串长度

本文关键字:字符串 整数 大小 马克斯 | 更新日期: 2023-09-27 18:10:24

在我的项目中,我有文本框,我将输入数据,如姓名,年龄等。

  1. 对于Name文本,我想让它接受一定数量的str

  2. Age文本框只接受3 int和某个数字的最大值

马克斯.大小,最大整数和最大字符串长度

您可以使用TextBox控件的MaxLength属性-您可以在代码中直接设置,或者在VS设计器的属性窗口中配置。

http://msdn.microsoft.com/en-GB/library/system.windows.forms.textboxbase.maxlength.aspx

好吧,你应该自己试试,但这里有一点提示:这段代码让文本只接受字母不接受数字,不接受空格进入文本名称属性,从事件双击KeyPress并尝试如下:

 private void TxtName_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (!char.IsControl(e.KeyChar) && !char.IsLetter(e.KeyChar) && e.KeyChar != '.')
            e.Handled = true;
    }

这是设置一个最大的字母大小,从文本名称属性,去事件和双击KeyDown,并尝试这个:

    private void TxtName_KeyDown(object sender, KeyEventArgs e)
        {
            int i = TxtName.Text.Length;
            if(!(e.KeyData == Keys.Back && e.KeyData == Keys.Delete))
                try
                {
                    if (TxtName.Text.Length >= 20)
                    {
                        e.SuppressKeyPress = true;
                        e.Handled = true;
                    }
                }
                catch { } 
}

这段代码用来设置一个最大值。整数值,进入TextAge属性,从事件双击离开,并尝试这个:

    private void TxtAge_Leave(object sender, EventArgs e)
    {
        string myString = (sender as TextBox).Text;
        int i = Convert.ToInt16(myString);
        if (i > 150)
        {
                MessageBox.Show("Invalid Age");
                TxtAge.Clear();
            (sender as TextBox).Focus();
        }
    }

使用TextBox控件的MaxLength属性

你可以使用验证控件

示例:为age设置MaxLength属性为3

'For Age TextBox写入Keypress Event

Public Sub TextBox1_Keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    Dim maxlen as Integer = 2 'Maximum Number Allowed

    Dim key = (Microsoft.VisualBasic.Asc(e.KeyChar))
        If key = 9 Or key = 8 Or (key >= 48 And key <= 57) Then
        Else
            e.Handled = True
            Beep()
        End If
    If sender.TextLength >= maxlen And key <> 8 And key <> 9 Then
        e.Handled = True
        Beep()
    End If
End Sub

的文本

 Public Sub TextBox2_Keypress(ByVal sender As Object, ByVal e As  System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
    Dim key = (Microsoft.VisualBasic.Asc(e.KeyChar))
    Dim maxlen as Integer = 10 'Maximum Allowed Text
    If sender.TextLength > maxlen Then
        e.Handled = True
        If key = 8 Then
            e.Handled = False
        End If
    End If
End Sub