在两种表格之间传输数据?

时间:2015-01-25 20:51:28

标签: vb.net forms

好的,所以我一直在寻找解决方案,但似乎无法找到适合我需要做的任何答案。这也是我在这里发表的第一篇文章,所以如果我对我需要的东西含糊不清,我很抱歉。基本上我创建的程序在一个表单上有几个文本框,我需要将这些文本框中的数据显示在另一个表单上的列表框中。第一个表单底部有一个按钮,允许我切换到表单2,并在列表框中显示数据。我可以切换到表单2,但列表框中没有显示任何内容。我还在表单1上有一些单选按钮和复选框,它们将影响在表单2的列表框中显示哪些常量值。另一件事是,我不能只使用表单加载选项来获取列表框中的数据,它必须按下按钮,因为我将在表单之间切换,从我的理解表单加载选项只能工作一旦表单第一次加载。无论如何,这里是表单1的代码的一部分,显示按钮单击:

Dim strCustomer As String
Private Sub btnPlaceOrder_Click(sender As Object, e As EventArgs) Handles btnPlaceOrder.Click
    strCustomer = txtCustomer.Text
    frmInvoice.ShowDialog()
    frmInvoice.lstCustomerOrder.Items.Add(Me.strCustomer)
End Sub

我的第一个表格是frmMain,我的第二个表格是frmInvoice。任何人都可以帮助我解决我需要做的与此代码不同的事情,以及我需要为表单2的代码完成这项工作。我再次对此有些新意,所以如果其中任何一个看起来含糊不清,或者如果我不完全发布这是正确的方法,我很抱歉。我也使用VB。

1 个答案:

答案 0 :(得分:0)

您提供的代码应该可以正常工作,但是您在显示发票表单后修改ListBox 。由于您使用的是 showDialog(),因此只有在处理对话框表单后才会执行此语句后面的代码(例如,如果您关闭它)。这意味着如果您第二次单击该按钮,则ListBox应包含一个项目。如果您切换两条线使它看起来像这样,它应该按照您的预期进行:

frmInvoice.lstCustomerOrder.Items.Add(Me.strCustomer)
frmInvoice.ShowDialog()