0

当谈到课程、潜艇和类似的东西时,我是个菜鸟。我正在 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”表单中指定的路径,这是我不知道该怎么做的。如果有人能简单地告诉我如何做到这一点,我将不胜感激

4

2 回答 2

1

在表单上创建公共属性chooseLauncher并将它们设置为显示表单之前的值。例如,如果chooseLauncher表单有一个名为 的公共字符串属性SaveMc,您可以这样做:

chooseLauncher.SaveMc = save_mc
chooseLauncher.Show()
于 2013-04-05T20:32:25.407 回答
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"

我可以将该信息传递给数据表类,因为它已经有一个可以存储名称信息的属性。

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

Class ChooseLauncher : Inherits Form

    Public FilePath As String

End Class

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

Dim myForm As New ChooseLauncher
myForm.FilePath = "NewValue"
myForm.Show()
于 2013-04-05T20:40:11.213 回答