【发布时间】:2016-07-19 03:29:33
【问题描述】:
我的解决方案文件中有 3 个表单。每个都有一个 Public 类。
(Form1 - MainControlWindow 类),(Form3 - ShaneTestFormVersion2 类),(New_Popup_Chords - New_Popup_Chords 类)
程序在 MainControlWindow 类的 Form1 中启动。我给它一个标题名称,然后将第二个表单 ShaneTestFormVersion2 类调暗为 frmSongDisplay2 并显示它。
Me.Text = "Window_A"
Dim frmSongDisplay2 As New ShaneTestFormVersion2
frmSongDisplay2.Show()
然后,在 Form3.vb 页面上的 ShaneTestFormVersion2 类中,我将最后一个表单调暗为对话框,以便第二个表单处理在其打开时停止:
Me.Text = "Window_B"
Dim NewChordsPopup As New New_Popup_Chords
NewChordsPopup.ShowDialog()
在我尝试使用第 3 种形式 (NewChordsPopup) 来显示其他 2 种形式的窗口标题之前,这一切都可以正常工作:
MsgBox(ShaneTestFormVersion2.Text) 'Second Form opened
MsgBox(MainControlWindow.Text) 'First Form Opened
msgsboxes 作为默认窗口标题显示为 "Form3" 而不是 "Window_B",但第一个窗口 msgbox 显示为 "Window_A" .
标题的设置方式相同,窗口变暗并以相同的方式显示。为什么 Form3 中的 ShaneTestFormVersion2 显示为 "Form3" 而不是我分配的标题 "Window_B"?
旁注:
我还注意到,我可以正常访问 MainControlWindow 变量 (MainControlWindow.Var1) (Public Var1),但不能访问 ShaneTestFormVersion2 变量 (ShaneTestFormVersion2.Var1),除非它是“Public Shared Var1”。
【问题讨论】:
-
您的实例名为 frmSongDisplay2,而不是 ShaneTestFormVersion2。所以你想要 frmSongDisplay2.Text。
-
它以蓝色下划线显示,并显示 frmSongDisplay2 未声明。我正在尝试从另一个表单中获取该实例的标题,我是否也在该页面上将其调暗?
-
您必须传递对它的引用。它适用于第一种形式是一个幸运的意外,因为微软试图与旧的 VB6 架构兼容。
-
我可以获取一些示例代码吗?
-
Dim frmSongDisplay2 As New ShaneTestFormVersion2(Me)然后在另一个构造函数中,添加Public Sub New(mainForm As Form)
标签: vb.net forms class title public