在表单Visual Basic 2012之间传递变量

时间:2013-04-05 20:23:26

标签: vb.net variables

当涉及到课程,潜艇和那种东西时,我是一个非常棒的人。我正在VB 2012中制作一个程序,它将在你的USB密钥上创建一个便携版的Minecraft。

这是一些代码(“port_cr”):

    'Get %appdata%
    Dim appdata As String = Environ("USERPROFILE") & "\AppData\roaming\.minecraft"
    'Get the path
    port_mc_getPath.ShowDialog()
    Dim save_mc As String = port_mc_getPath.SelectedPath
    'Copy everything
    My.Computer.FileSystem.CreateDirectory(save_mc & "\Data")
    My.Computer.FileSystem.CreateDirectory(save_mc & "\Bin")
    My.Computer.FileSystem.CreateDirectory(save_mc & "\Data\.minecraft")
    My.Computer.FileSystem.CopyDirectory(appdata, save_mc & "\Data\.minecraft", True)
    'OPEN ANOTHER FORM TO CHOOSE THE LAUNCHER YOU WANT TO DOWNLOAD
    chooseLauncher.Show()

“chooseLauncher”是一个带有一些按钮的表单,它们将适当的文件下载到“port_cr”表单中指定的路径,这是我无法弄清楚如何做的。如果有人能告诉我如何做到这一点,我真的很感激

2 个答案:

答案 0 :(得分:1)

chooseLauncher表单上创建公共属性,并在显示表单之前将它们设置为值。例如,如果chooseLauncher表单具有名为SaveMc的公共字符串属性,则可以执行此操作:

chooseLauncher.SaveMc = save_mc
chooseLauncher.Show()

答案 1 :(得分:1)

表单只是花哨类型的类,它们具有与之关联的一些可视行为/呈现。在OOP中,您可以像对待任何类(自定义类或本机类)一样对待它们。

让我们在.NET框架中使用一个简单的本机类,并从那里抽象出来。 如何将数据传递给DataTable类?

'create a new instance of that class
Dim dt as New DataTable
'pass in the name of the table
dt.Name = "AnyName"

我可以将该信息传递给datatable类,因为它已经有一个可以存储Name信息的属性。

现在在创建自己的类时考虑一下。假设您有一个名为ChooseLauncher的表单。让我们给它一些可以在内部使用并在外部添加的属性。也许是一个名为FilePath的属性

Class ChooseLauncher : Inherits Form

    Public FilePath As String

End Class

现在,当您创建ChooseLauncher类时。您所要做的就是从创建它的任何地方设置publiclly available属性。

Dim myForm As New ChooseLauncher
myForm.FilePath = "NewValue"
myForm.Show()