在我的项目中,我有文本框,我将输入数据,如姓名,年龄等。
对于Name文本,我想让它接受一定数量的str。
年龄文本框仅接受3个int和max的某个数字 我无法在其中添加更多内容。
答案 0 :(得分:1)
您可以使用MaxLength
控件的TextBox
属性 - 可以直接在代码中设置,也可以从VS设计器的属性窗口进行配置。
http://msdn.microsoft.com/en-GB/library/system.windows.forms.textboxbase.maxlength.aspx
答案 1 :(得分:0)
答案 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