VB 2008清除初始文本框值后,将存储的值传输到文本框

时间:2014-04-24 16:29:27

标签: vb.net textbox inputbox

自学VB初学者。

我有一个包含...

的数据输入部分

2个组合框(cbx_TruckType,cbx_DoorNumber)

------- cbx_TruckType有2个选项(入站,出站)

------- cbx_DoorNumber有3个选项(门1,门2,门3)

2个文本框(txb_CustomerName,txb_OrderNumber)

------- txb_CustomerName将保留客户名称

------- txb_OrderNumber将保留订单号

最后......

一个按钮(btn_EnterTruck),用于将文本从combox和文本框传输到以下内容...

2个标签

第一个标签有

2个按钮(btn_Door1,btn_Door2)

btn_Door1有3个相应的文本框

------- txb_TruckTypeDoor1,txb_CustomerNameDoor1,txb_OrderNumberDoor1

btn_Door2有3个相应的文本框

------- txb_TruckTypeDoor2,txb_CustomerNameDoor2,txb_OrderNumberDoor2

第二个标签有

1按钮(btn_Door3)

btn_Door1有3个相应的文本框

------- txb_TruckTypeDoor3,txb_CustomerNameDoor3,txb_OrderNumberDoor3

目前,我有代码(感谢我的另一个问题!),在btn_EnterTruck.click上,将文本传输到相应的文本框。

这是我的问题......

我编写了一个msgbox来弹出(当从cbx_TruckType中选择Inbound时)询问是否有Outbound。如果单击“是”,则会弹出一个输入框并要求输入订单号。然后,该按钮将入站信息传输到文本框并存储出站订单号。

当我单击btn_Door1(或2或3)时,它会从相应的文本框中清除文本。 (使用me.controls)

(我会为上述所有内容添加代码,但我认为它没有实际意义,因为它有效)

我想要发生什么......

我希望保存存储的出站号码,并引用它对应的门号。然后在btn_DoorX点击后,它会将该订单号填入相应的文本框中。应用程序关闭时,我不需要存储/保存文本。

我不知道该怎么做。

*经过一些工具,我已经完成了以下工作,但它不起作用“

我在班级宣布了这些。

    Dim str_SameTruckPODoor1, str_SameTruckPODoor2, str_SameTruckPODoor3 As String

此代码位于btn_EnterTruck事件

    Dim str_ErrOutDoorName As String = cbx_DoorNumber.Text

    Dim str_OutboundDoorName As String = str_ErrOutDoorName.Replace(" ", "")

    Dim ArrayForPONumbers As Control() = Me.Controls.Find("str_SameTruckPO" & str_OutboundDoorName, True)

    If cbx_TruckType.Text = "Inbound" Then

        Dim OutboundMsg = "Is there an Outbound with this truck information?"

        Dim Title = "Outbound?"

        Dim style = MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton2 Or _
            MsgBoxStyle.Question

        Dim response = MsgBox(OutboundMsg, style, Title)

        If response = MsgBoxResult.Yes Then

            Dim NeedPOMessage, NeedPOTitle, defaultValue As String
            Dim PONumberOutbound As String

            ' Set prompt.
            NeedPOMessage = "Enter the PO Number"

            ' Set title.
            NeedPOTitle = "PO# For Outbound"
            defaultValue = "?"   ' Set default value.

            ' Display message, title, and default value.
            PONumberOutbound = InputBox(NeedPOMessage, NeedPOTitle, defaultValue)

            ' If user has clicked Cancel, set myValue to defaultValue 
            If PONumberOutbound Is "" Then PONumberOutbound = defaultValue

            ArrayForPONumbers(0) = PONumberOutbound

        End If

    End If

我在

上收到错误消息
    ArrayForPONumbers(0) = PONumberOutbound ' Cannot convert string to .controls

我在btn_Door1事件中有以下代码 - 它处理btn_Door2,btn_Door3

    Dim WhichButton As Button = CType(sender, Button)

    Dim str_ErrDoorName As String = WhichButton.Name

    Dim str_DoorName As String = str_ErrDoorName.Replace("btn_", "")

    Dim str_DoorType As Control() = Me.Controls.Find("txb_" & str_DoorName & "Type", True)

    Dim str_Customer As Control() = Me.Controls.Find("txb_" & str_DoorName & "Customer", True)

    Dim str_OrderNumber As Control() = Me.Controls.Find("txb_" & str_DoorName & "OrderNumber", True)

    Dim SecondArrayForPONumbers As Control() = Me.Controls.Find("str_SameTruckPO" & str_DoorName, True)

    If str_DoorType(0).Text = "Outbound" Then

        str_DoorType(0).Text = ""
        str_Customer(0).Text = ""
        str_OrderNumber(0).Text = ""

    ElseIf SecondArrayForPONumbers(0).Text.Length > 0 Then

        str_DoorType(0).Text = "Outbound"
        str_OrderNumber(0).Text = Me.Controls("str_SameTruckPO" & str_DoorName).Text

    End If

感谢任何帮助。如果我不清楚我在问什么或者没有提供足够的细节,请告诉我。

编辑:根据评论,添加代码,更改标题

添加信息

1 个答案:

答案 0 :(得分:0)

您希望这些数据存储多长时间? IE:比开放应用程序的生命周期长?如果应用程序关闭,那么数据丢失是否正常?如果没有,您可能需要考虑将此数据写入外部数据库。