Compelete noob在C#中使用我的第一个应用程序。这是我想要做的......
用户将在文本框中输入“ID”,所有数字。我一直试图找出如何在ID中捕获前导零,例如:
5031可以接受身份证 0827不是我们想要的
基本上,零不能是系列中的前导数字。我想,perahps这可能会被索引困住,但我很难过。有什么想法????
-Confused Trapper
答案 0 :(得分:1)
像...这样的东西可能需要调整它。
protected override void OnKeyPress(KeyPressEventArgs e)
{
if( this.SelectionStart == 0 && e.KeyChar == (char)'0')
{
e.Handled = true;
return;
}
}
答案 1 :(得分:0)
protected override void OnKeyDown( object sender, KeyEventArgs e )
{
e.Handled = ( ( this.SelectionStart == 0 ) && ( e.KeyCode == Keys.D0) )
}
答案 2 :(得分:0)
您是否希望在键入时阻止0,或者在离开现场后执行验证?观看按键的解决方案的问题是,如果从剪贴板粘贴了无效值,它们不会监视内容。
查看该控件中的MaskedTextBox和OnValidating,看看是否能解决您的问题。
答案 3 :(得分:0)
如果您想在框中输入数字,只需使用NumericUpDown而不是TextBox。在您的情况下,您的ID似乎总是四位数。因此,将最小值设置为1000,将最大值设置为9999(或更大,或者设置为Decimal.MaxValue)。