0

在 C# 中完成我的第一个应用程序的新手工作。这是我想要做的......

用户将在文本框中输入“ID”,所有数字。我一直在试图弄清楚如何在 ID 中捕获前导零,例如:

ID 0827 可以接受 5031 不是我们想要的

基本上,零不能是系列中的前导数。我想,也许这可以通过索引被困住,但我很难过。有什么想法吗????

- 困惑的捕手

4

4 回答 4

1

怎么样……可能需要调整一下。

protected override void OnKeyPress(KeyPressEventArgs e)
{
    if( this.SelectionStart == 0 && e.KeyChar == (char)'0')
   {
        e.Handled = true;
        return;
    }
 }
于 2009-07-06T23:30:30.503 回答
0

如果您只想在框中输入数字,只需使用 NumericUpDown 而不是 TextBox。在您的情况下,您的 ID 似乎总是四位数。因此,将最小值设置为 1000,将最大值设置为 9999(或更大或 Decimal.MaxValue)。

于 2009-07-07T06:27:58.793 回答
0

您是否希望在他们键入时阻止 0,或者在他们离开该字段后执行验证?监视按键的解决方案的问题是,如果从剪贴板粘贴无效值,它们不会监视内容。

查看该控件中的MaskedTextBoxOnValidating,看看是否可以为您解决问题。

于 2009-07-07T04:50:52.283 回答
0
protected override void OnKeyDown( object sender, KeyEventArgs e )
{
    e.Handled = ( ( this.SelectionStart == 0 ) && ( e.KeyCode == Keys.D0) )
}
于 2009-07-06T23:28:56.510 回答