0

在我的项目中,我有输入数据的文本框,例如 Name 、 Age 等。

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

  2. 年龄文本框只接受 3 个整数和某个数字的最大值,我无法添加更多。

4

4 回答 4

1

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

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

于 2013-04-23T10:59:52.280 回答
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 属性,从事件中双击离开并尝试以下操作:

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

    }
于 2013-04-23T11:09:58.243 回答
0

'For 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

'对于文本

 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
于 2013-04-23T11:19:17.667 回答
0

使用MaxLengthTextBox 控件的属性

您可以使用验证控件

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

于 2013-04-23T11:01:54.353 回答