Vb.net 将值从表单中的(DataGridView1_单击)传递到另一表单中的另一个子节点

Vb.net 将值从表单中的(DataGridView1_单击)传递到另一表单中的另一个子节点,vb.net,forms,Vb.net,Forms,我想将值从(DataGridView1_单击)传递到另一个形式的子对象 如何做到这一点? 有没有办法,请帮帮我 Public Class SearchCustomers Private Sub SearchCustomers_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txtCustomerSearchBox.Text = "" CBCus

我想将值从(DataGridView1_单击)传递到另一个形式的子对象 如何做到这一点? 有没有办法,请帮帮我

Public Class SearchCustomers
Private Sub SearchCustomers_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtCustomerSearchBox.Text = ""
        CBCustomerSearch.SelectedIndex = -1
        txtCustomerSearchBox_TextChanged(Nothing, Nothing)
    End Sub
这是单击事件

  '  Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.Click
  'FrmCustomers mycustomers = New FrmCustomers()   
  '  mycustomers.show_data(DataGridView1.CurrentRow.Cells(1).Value.ToString)
  '  End Sub

    Private Sub DataGridView1_RowsAdded(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles DataGridView1.RowsAdded
        For I = 0 To DataGridView1.Rows.Count - 1
            DataGridView1.Rows(I).Cells(0).Value = "Go"
            Dim row As DataGridViewRow = DataGridView1.Rows(I)
            row.Height = 25
        Next
    End Sub
这是表2中的子方法 我想从这个方法中显示从DB到TextBox的数据,如下面的代码所示

 Sub show_data(CustomerCod)
        OpenFileDialog1.FileName = ""
        Dim sqls = "SELECT * FROM Customers WHERE CustomerCode=N'" & (CustomerCod) & "'"
        Dim adp As New SqlClient.SqlDataAdapter(sqls, SQLconn)
        Dim ds As New DataSet
        adp.Fill(ds)
        Dim dt = ds.Tables(0)
        If dt.Rows.Count = 0 Then
            MsgBox("no record found", MsgBoxStyle.Exclamation, "warning message")
        Else
            Dim dr = dt.Rows(0)
            On Error Resume Next
            CustomerCode.Text = dr!CustomerCode
            CustomerName.Text = dr!CustomerName
            Address.Text = dr!Address
            Country.Text = dr!Country
            City.Text = dr!City
            Fax.Text = dr!Fax
            Mobile.Text = dr!Mobile
            Email.Text = dr!Email
            Facebook.Text = dr!Facebook
            Note.Text = dr!Note
            '====================== Image Reincyrpation 
            If IsDBNull(dr!Cust_image) = False Then
                Dim imgByteArray() As Byte
                imgByteArray = CType(dr!Cust_image, Byte())
                Dim stream As New MemoryStream(imgByteArray)
                Dim bmp As New Bitmap(stream)
                Cust_image.Image = Image.FromStream(stream)
                stream.Close()
                Label16.Visible = False
                '================================================
            End If
            BtnEdit.Enabled = False
            BtnDelete.Enabled = False
            BtnSave.BackColor = Color.Red
            CustomerName.Focus()
            End If 
    End Sub
您可以这样做(只是打电话):


使用默认的
FrmCustomers
而不是创建它的新实例您的意思是像这样
Private Sub-DataGridView1\u Click(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理DataGridView1。单击FrmCustomers.show\u data(DataGridView1.CurrentRow.Cells(1.Value.ToString)MsgBox(DataGridView1.CurrentRow.Cells(1).Value.ToString,MsgBoxStyle.叹号,“信息消息”)End Sub
它不工作它已经打开了
FrmCustomers
了?如果是,你是如何打开它的?它应该是
FrmCustomers.Show()
-仍然使用默认值。你还必须声明
Sub Show\u数据()
作为
Public
。如果您在下一次恢复时出现
错误,您如何知道它是否工作正常。请将其取出。
 Sub show_data(CustomerCod)
        OpenFileDialog1.FileName = ""
        Dim sqls = "SELECT * FROM Customers WHERE CustomerCode=N'" & (CustomerCod) & "'"
        Dim adp As New SqlClient.SqlDataAdapter(sqls, SQLconn)
        Dim ds As New DataSet
        adp.Fill(ds)
        Dim dt = ds.Tables(0)
        If dt.Rows.Count = 0 Then
            MsgBox("no record found", MsgBoxStyle.Exclamation, "warning message")
        Else
            Dim dr = dt.Rows(0)
            On Error Resume Next
            CustomerCode.Text = dr!CustomerCode
            CustomerName.Text = dr!CustomerName
            Address.Text = dr!Address
            Country.Text = dr!Country
            City.Text = dr!City
            Fax.Text = dr!Fax
            Mobile.Text = dr!Mobile
            Email.Text = dr!Email
            Facebook.Text = dr!Facebook
            Note.Text = dr!Note
            '====================== Image Reincyrpation 
            If IsDBNull(dr!Cust_image) = False Then
                Dim imgByteArray() As Byte
                imgByteArray = CType(dr!Cust_image, Byte())
                Dim stream As New MemoryStream(imgByteArray)
                Dim bmp As New Bitmap(stream)
                Cust_image.Image = Image.FromStream(stream)
                stream.Close()
                Label16.Visible = False
                '================================================
            End If
            BtnEdit.Enabled = False
            BtnDelete.Enabled = False
            BtnSave.BackColor = Color.Red
            CustomerName.Focus()
            End If 
    End Sub
Private Sub DataGridView1_Click(sender As Object, e As EventArgs) Handles DataGridView1.Click
    FrmCustomers.Show()
    FrmCustomers.Hide()
    FrmCustomers.show_data(CustomerCod)
    FrmCustomers.Dispose()
End Sub