2017-09-07 46 views
0

道歉如果这是新手问题,因为我是.net自己的新手。所以在这里,我有2个表格。表单1和表单2.我目前处于表单1,我想将值传递给表单2上的变量。以下是表单上的声明。VB.NET将值传递给动态表单的变量

Public Sub Form1 
    Dim TempForm as Form = Form2 
End Sub 

Public Sub Form2 
    Dim Id as Integer 
End Sub 

所以我可以使用TempForm访问的窗体2,我知道有一个表格2名为id变量,我想开幕前的值传递给它。请注意,我无法直接将值传递给表单2,因此我应该将表单设置为Temp表单,因为我打算将其设置为动态的,以便我也可以使用它打开其他表单。非常感谢!

+0

听起来像是你应该实现一个构造函数。 – muffi

+0

我会做你在问什么..持有 – Subaz

回答

2

使用此代码:

Public Class Form1 
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
    Dim NewForm As New Form 'make a new form 
    'assign the value 50 to the variable ID 
    Dim IDx As New NewForm(50) 
End Sub 
End Class 

'for new form 
Public Class NewForm 
    Public ID As Integer 
    'Here's the class constructor 
    Public Sub New(Value As Integer) 
     ID = Value 
     'use this ID however you want 
    End Sub 
End Class 
+0

如果你看到我以前的评论,我误解了你的代码,但这一行是没有必要的:'Dim NewForm As New Form' - 否则它是好的:) –

+0

谢谢它有很多次要的工作。只需要添加它需要首先初始化组件。也只是一个后续,如果我只知道字符串的形式,我怎么能把它作为一种形式。示例我有一个字符串OpenForm =“Form2”。如何在上面的代码中使用它使其更加动态?非常感谢 –

+0

@NamsForres:https://stackoverflow.com/a/26478271 –