如何插入字母“N”,后跟4位数字。用户将4位数字输入到文本框中

时间:2011-11-08 08:50:28

标签: vb.net winforms

  

注意:我尝试使用concat()方法,连接方法甚至尝试过   只插入文本(结果是可编辑的),但它们都不起作用   我想了。我在想是否子串方法可行,但我只有   子串如何工作的基本思路。我想要字母“N”   在表单加载时以及用户输入时插入到文本框中   4digits(OrderNo2.text)应该连接起来以便保存   当我点击保存按钮时,我在一起。

     

请帮帮我们。感谢

Private Sub btnAddOrder_Click(ByVal sender As System.Object, ByVal e
  As System.EventArgs) Handles btnAddOrder.Click



isNewRow = True
        Dim newRow As DataRow = dsOrders.Tables("Orders").NewRow

        Try
            If txtOrderNo2.Text.Length = 5 Then
                newRow.Item("OrderNo") = txtOrderNo2.Text
                If cbo_Product.SelectedIndex <> -1 Then
                    newRow.Item("Product") = cbo_Product.Text
                    newRow.Item("Price") = txtPrice2.Text
                    If txtQuantity.Text <> "" Then
                        newRow.Item("Quantity") = txtQuantity.Text
                        newRow.Item("CustomerNo") = txtCustomerNo2.Text
                        dsOrders.Tables("Orders").Rows.Add(newRow)
                        'determine row index of new row
                        rowIndex = dsOrders.Tables("Orders").Rows.Count - 1
                        'save changes back to the database
                        daOrders.Update(dsOrders, "Orders")

                    Else
                        MessageBox.Show("Please enter the quantity", "Missing Quantity", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                    End If
                Else
                    MessageBox.Show("Please choose the product", "Missing Price", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                End If
            Else
                MessageBox.Show("Order Number must be 5 digits long!", "Missing Order Number", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

    End Sub

2 个答案:

答案 0 :(得分:1)

尝试仅允许文本框中的数字,最大长度为4。 然后,如果用户点击提交按钮,只需获取输入的值并放置其前面的N. 长度总是4 +你的角色(“N”)是5。

这样你应该能够解决它。

您也可以尝试使用正则表达式。查看它是否包含N和0-9之间的数字。 只有当它以字符N开头后跟4个数字字符时才会是有效输入。

这将是你的正则表达式。

^(N 2 [0-9] {4})$

希望这对您有用

答案 1 :(得分:1)

使用MaskedTextBox代替常规TextBox。然后,您可以将Mask属性设置为"N0000",这样只允许用户在'N'后输入4位数字,并且不允许用户编辑'N'Text属性将为您显示所显示的文本,包括'N'