【问题标题】:Syntax error when using Me in VB在 VB 中使用 Me 时出现语法错误
【发布时间】:2014-03-22 07:04:42
【问题描述】:

这是一个有趣的事情,我以前使用 Visual Studio 2010 制作基本的 VB 程序,从来没有遇到过任何问题。现在我只是对为什么会发生这种情况感到困惑。

我什至还没有深入到第一种形式的编码阶段,当我使用“Me”时,我已经因为语法错误而大喊大叫,无论是 Me.Close() 还是其他。与其在此处将代码作为文本发布,不如仅显示语法高亮显示。

http://kelina-enterprises.com/img/vb-syntax-error-stackoverflow.png ::EDIT:: 此图片已被删除,并非真正的错误。

有趣的是,当我测试程序时,如果我运行最后一次成功的构建,它会运行得很好,它会执行那些“错误”的行。

这是我自己应该关心的问题,还是应该忽略这些明显错误的语法错误?

请记住,如果这是一件简单的事情,我只是因为某种原因而忽略了(没有想到),那么我上次使用 VB 已经过去了大约 3 年,甚至没有一年在那。

【问题讨论】:

  • 那不是VB6,甚至不是VB。它是“VB.Net”(也称为 Visual Fred,一种与 VB 甚至没有一点关系的语言,尽管微软坚持在上面贴上标签)。

标签: vb6 syntax-error


【解决方案1】:

您不能在Class 中编写VB 语句,例如Me.Close()MessageBox.Show("??")。例如,

Class Test
    MessageBox.Show("test")
End Class

明显是语法错误

Class 中,您只能编写声明或方法。

在您的情况下,您可以像这样将代码放在Load 事件处理程序中......

Private Sub LoginForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Fullscreen, over everything, maximized
    Me.Width = My.Computer.Screen.WorkingArea.Width
    Me.Height = Screen.PrimaryScreen.Bounds.Height
    Me.CenterToScreen()
    Me.TopMost = True
    Me.WindowState = FormWindowState.Maximized

End Sub

您无需输入Private Sub ... End Sub。进入表单设计,双击表单,应该会出现Load事件。

【讨论】:

  • 对不起,我花了这么长时间来标记这个,那个代码已经过时了一段时间(我讨厌 VB,以及其他任何 MS 独有的东西)。从那以后我转向 Perl 和 Python。逻辑和语法对我来说更清晰,更容易理解,这也是我对这个问题感到困惑的一半原因。
【解决方案2】:

看起来您的意思是将该代码放在表单的加载事件中,您不能拥有不在某种例程中的代码。 如果您在设计模式下双击表单,应该会自动为您创建加载事件,然后您可以将代码移入其中。

您可能还想使用表单的其他事件,例如显示事件,可以通过单击所选LoginForm旁边的下拉框中的相应选择来创建这些事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多