【问题标题】:How to pass value from Form1 to Form2如何将值从 Form1 传递到 Form2
【发布时间】:2017-03-20 12:09:37
【问题描述】:

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

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

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

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

当我单击DataGridView1 以从Form1 获取ComboBox 的值以在Form2 中使用它时,出现以下错误:

连接服务器失败。

代码:

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

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

【问题讨论】:

  • 您是说连接存储在form1。但是您将frm 声明为Form2 并尝试从中读取连接。它不仅是错误的形式,而且很可能是空的,因为它是刚刚创建的。由于其令人困惑的性质,我不确定这个问题是重复的。候选人中有stackoverflow.com/q/33765071/11683stackoverflow.com/q/22078219/11683
  • 是的,连接存储在form1中,当我尝试使用此代码'prd.ServerConnection = New ServerConnection(frm.ComboServer.Text)从form1调用连接服务器时,问题就在form2中
  • 您应该考虑将连接完全存储在表单之外。你让它难以访问。
  • 怎么样!!!!你能解释一下吗

标签: vb.net winforms datagridview


【解决方案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

截图:

【讨论】:

    【解决方案2】:

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

    创建一个类 /w 变量。

    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
    

    从表格 1 中设置变量...variables.imavariable = string 从form2中读取变量......string = variables.imavariable

    【讨论】:

      猜你喜欢
      • 2015-05-19
      • 2015-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      相关资源
      最近更新 更多