设置最大值大小,最大整数和最大字符串长度

时间:2013-04-23 10:58:03

标签: c# visual-studio-2012

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

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

  2. 年龄文本框仅接受3个int和max的某个数字 我无法在其中添加更多内容。

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

使用TextBox控件的MaxLength属性

您可以使用validation controls

示例:对于,age将MaxLength属性设置为3

答案 2 :(得分:0)

嗯,你应该自己尝试一下,但这里有一点提示: 这一堆代码使文本只接受字母没有数字,没有空格 从事件转到文本名称属性双击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属性,从事件中双击Leave并尝试:

    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();
        }

    }

答案 3 :(得分:0)

'对于Age TextBox将此写入Keypress事件

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

'For Text

 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