如何将值从Form1传递给Form2

时间:2017-03-20 12:09:37

标签: vb.net winforms datagridview

我正在制作一个生成SQL Server代码的程序,以便在我的VB.NET程序中使用它。

我有第一个包含连接的表单,如下图所示:

1

连接100%工作,但在第二种形式中,我有两个DataGridView,一个用于表,一个用于字段。

所以当我点击DataGridView1 =>的任何表格时DataGridView2显示字段:

2

当我点击DataGridView1ComboBox获取Form1的值以在Form2中使用它时出现以下错误:

  

无法连接到服务器。

代码:

Dim frm As New Form2
prd.ServerConnection = New ServerConnection(frm.ComboServer.Text) ' here the error
prd.DGVField(MetroGridTables, MetroGridField)

我使用Form1建立连接,Form2进行操作。

2 个答案:

答案 0 :(得分:1)

这个问题有点令人困惑,但这就是我将变量从一种形式传递到另一种形式的方式。

创建一个class / w变量。

=IF(SUMPRODUCT(--(ISNUMBER(SEARCH("FAIL",D11:D15)))),"FAILED","PASSED")

从表单1 ... Public Class Variables Public Shared Property imavariable As String Get Return m_imavariable End Get Set(value As String) m_imavariable = value End Set End Property Private Shared m_imavariable As String End Class 设置变量 从form2 .... variables.imavariable = string

中读取变量

答案 1 :(得分:1)

将值从一个表单传递到另一个表单的最简单方法是在要将值传递给的表单上实现New方法:

Form1

Public Class Form1

    Private Sub btnPass_Click(sender As Object, e As EventArgs) Handles btnPass.Click

        Dim form As New Form2(TextBox1.Text)
        form.Show()

    End Sub

End Class

Form2

Public Class Form2

    Public Sub New(ByVal value As String)

        ' This call is required by the designer.
        InitializeComponent()

        Label1.Text = value

    End Sub

End Class

截图:

enter image description here