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

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

问题描述:

在我的项目我有文本框,在这里我将输入数据,如姓名,年龄等。设置最大。大小,最大整型数和最大字符串长度

  1. 对于Name文本我要让它接受一定量str。

  2. 年龄段文本框只接受3个int和最大的某个数字 我不能在其中添加更多内容。

+4

首先尝试一下。 – 2013-04-23 10:59:45

+1

另外,当问一个问题时,有助于提及您实际使用哪种技术。基于HTML,WinForms,WPF,WinRT等等。 – Thorarin 2013-04-23 11:01:27

+0

如何定义字符串长度? UTF-16代码单元? UTF-8编码单元? Unicode代码点?渲染的符号数量? – CodesInChaos 2013-04-23 11:03:31

那么,你应该尝试一下你自己,但这里有一点提示: 这一堆的代码,使文本接受只有字母没有数字,没有空格 转至按键时文本名称的属性,从事件双击并尝试这个办法:

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财产 - 你可以直接在代码中设置,或在VS设计属性窗口中配置。

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

使用TextBox控件的MaxLength财产

您可以使用validation controls

例子:对于年龄设置MaxLength属性,以3

“对于年龄文本框写这成按键事件

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