Vb.net Combobox值未传递给下一个窗体(即模块),将保持为空

Vb.net Combobox值未传递给下一个窗体(即模块),将保持为空,vb.net,combobox,Vb.net,Combobox,Form1让用户从combobox中选择一个值,然后单击next按钮转到StatusModule。我希望从Form1中选择的项用于模块中的If/else语句,以创建客户端并返回结果。目前,对于我的断点,除了值没有从Welcome传递到StatusModule之外,其他一切都正常 表格1: Public Class Welcome Private Sub NextButton_Click(sender As Object, e As EventArgs) Handles NextButton.Cl

Form1让用户从combobox中选择一个值,然后单击next按钮转到StatusModule。我希望从Form1中选择的项用于模块中的If/else语句,以创建客户端并返回结果。目前,对于我的断点,除了值没有从Welcome传递到StatusModule之外,其他一切都正常

表格1:

Public Class Welcome
Private Sub NextButton_Click(sender As Object, e As EventArgs) Handles NextButton.Click

If AdapterSelection.Text = "USB" Or AdapterSelection.Text = "USBC" Or AdapterSelection.Text = "HDMI" Then
            If ELocation.Text = String.Empty Then
                EValidFalg = False
                MessageBox.Show("Select an E file.")
                ELocation.Text = "Select E"
            Else
                Me.Hide()
                Form2.Show()
            End If
        Else
            DValidFlag = False
            MessageBox.Show("Select D")
        End If
End Sub

Private Sub AdapterSelection_SelectedIndexChanged(sender As Object, e As EventArgs) Handles AdapterSelection.SelectedIndexChanged
        If AdapterSelection.Items(0) <> "" Then
        Else
            AdapterSelection.Items.Add("USB")
            AdapterSelection.Items.Add("USBC")
            AdapterSelection.Items.Add("HDMI")
        End If
    End Sub

End Class
公共课欢迎
Private Sub NextButton_Click(发送者作为对象,e作为事件参数)处理NextButton。单击
如果AdapterSelection.Text=“USB”或AdapterSelection.Text=“USBC”或AdapterSelection.Text=“HDMI”,则
如果ELocation.Text=String.Empty,则
EValidFalg=False
Show(“选择一个E文件”)
ELocation.Text=“选择E”
其他的
我躲起来
表格2.Show()
如果结束
其他的
DValidFlag=False
MessageBox.Show(“选择D”)
如果结束
端接头
私有子适配器selection\u SelectedIndexChanged(发送方作为对象,e作为事件参数)处理适配器selection.SelectedIndexChanged
如果AdapterSelection.Items(0)”,则
其他的
AdapterSelection.Items.Add(“USB”)
AdapterSelection.Items.Add(“USBC”)
AdapterSelection.Items.Add(“HDMI”)
如果结束
端接头
末级
模块:

Module StatusM
Function Start()
 client = CreateObject("E File")
        If Err.Number <> 0 Then
            'Display some error information
            Screen.Display.Text = "ERROR: Fail to create client"
        Else
            Debug.Print("Completed")
            Debug.Print(Welcome.AdapterSelection.Text) 'NOT SHOWING ANY VALUE

            If Welcome.AdapterSelection.Text = "USB" Then
                "My Code"
            ElseIf Welcome.AdapterSelection.Text = "USBC" Then
                 "MyCode"
            ElseIf Welcome.AdapterSelection.Text = "USBC" Then
            End If
End Function
End Module
模块状态
函数Start()
client=CreateObject(“E文件”)
如果错误号为0,则
'显示一些错误信息
Screen.Display.Text=“错误:无法创建客户端”
其他的
调试。打印(“已完成”)
Debug.Print(Welcome.AdapterSelection.Text)'不显示任何值
如果Welcome.AdapterSelection.Text=“USB”,则
“我的代码”
ElseIf Welcome.AdapterSelection.Text=“USBC”则
“MyCode”
ElseIf Welcome.AdapterSelection.Text=“USBC”则
如果结束
端函数
端模块

我今天早些时候写过。如果问题是“如何将信息从一个表单共享到另一个表单”,则可能会有所帮助。@laancelot谢谢您的参考,这很有帮助,但我的第二个“表单”是一个模块。我试图将输入输入到第一个表单中,该表单将这些值传递到一个模块中,然后将结果返回到另一个表单(3)。除了将combobox值传递给模块(form2),然后首先更改函数以接收字符串:
函数开始(ByVal选择为字符串)
,然后调用:
开始(AdapterSelection.Text)
?模块很棒,但它们就像共享方法,你必须把你的数据从一个超负荷带到另一个超负荷。当类似的事情发生在我身上,并且有很多数据需要携带时,我创建一个类,只用于存储数据并将重载限制在一件事上。“…然后将结果返回到另一个表单(3)。“如果
Start()
正在从Form1调用函数。从技术上讲,您可以迭代表单集合并找到Form3,但这是一个非常糟糕的设计。