我正在开发一款游戏,我希望使用一个选项窗口,以便用户将数据输入到此窗口并将其传送到主窗口而不是丢失...
我用我最近的程序尝试过,猜测颜色,但它没有像我想象的那样工作。我以为我可以将它分配给文本框中的字符串中的变量,它将进入主窗口......
我希望这种情况发生:
编辑:
Form1 <<< Form 2
game screen 3x3 button
end turn
答案 0 :(得分:2)
通常,您需要做的是在创建新表单/窗口时,保留该表单窗口的引用直到它关闭。
然后,当它关闭时,您可以将信息从刚关闭的窗体/窗口复制回主窗口(或者您想要的任何其他内容)。
这里的关键是在子窗口上公开表示输入的属性。因此,如果打开的子窗口具有所选的颜色,则创建一个公开该颜色的属性,以便父窗口可以访问该子窗口。
答案 1 :(得分:0)
编辑:为什么我认为这是一个VB6问题?这被重新标记了吗?如果OP可以澄清哪个版本的VB,我将更新我的例子。
OOP甚至适用于VB6。创建一个类来保存共享数据。在应用程序启动时,将对象创建为全局对象(变量)。我讨厌全局变量和下一个人一样多,但是在整个应用程序需要看到这些数据的情况下(例如,登录的用户对象或日志对象),这是合适的。您可以在第一个表单中将值分配给类对象,然后以第二个或任何其他形式从类对象中读取它们。
示例类:
Option Explicit
Private m_firstName As String
Private m_lastName As String
Public Property Get FirstName() As String
FirstName = m_firstName
End Property
Public Property Let FirstName(ByVal value As String)
m_firstName = value
End Property
Public Property Get LastName() As String
LastName = m_lastName
End Property
Public Property Let LastName(ByVal value As String)
m_lastName = value
End Property
Public Function FullName() As String
FullName = m_firstName & " " & m_lastName
End Function
我在这台机器上没有VB6,或者我可以给你一个更好的例子。我认为这些天在.NET中;)
这可以解释一些事情 - http://www.vbforums.com/showthread.php?t=374132