自学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
感谢任何帮助。如果我不清楚我在问什么或者没有提供足够的细节,请告诉我。
编辑:根据评论,添加代码,更改标题
添加信息答案 0 :(得分:0)
您希望这些数据存储多长时间? IE:比开放应用程序的生命周期长?如果应用程序关闭,那么数据丢失是否正常?如果没有,您可能需要考虑将此数据写入外部数据库。