1

我从 C# 背景开始学习 vb.net。

我试图重新编程我拥有的一个简单的 C# winforms 程序,该程序采用命令行参数来确定它的作用。在 C# 中,总是有一个 main 方法来接受这些参数。

根据我的阅读,一旦您指定了起始表单,vb.net 就会为您实现一个主要方法,除非您自己制作一个。这很好,但我实现的那个似乎被忽略了,我已经设置了断点以查看代码是否被查看,但什么也没有。主子在启动表单的类声明中,如下所示:

Public Class FrontScreen
    <STAThread()> _
    Shared Sub Main()
        Dim mainWindow As FrontScreen = New FrontScreen()
        MessageBox.Show("Hello! I'm exectuing!")
        Application.Run(mainWindow)
    End Sub
End Class

显然我稍后会在 main 方法中添加更多代码,但现在我只想让消息框出现以显示我的 main sub 实际上正在执行。我可能在做一些非常明显的错误,但从我看到的例子中我无法判断是什么。有任何想法吗?

谢谢,安迪。

4

4 回答 4

7

查看您的项目属性:

  1. 从“启用应用程序框架”中删除复选框。
  2. 在“启动对象”下拉框中,选择条目“Sub Main”。

子主属性

于 2010-11-22T17:31:05.647 回答
1

如果您只对命令行参数感兴趣,那么除了拦截Main方法之外的另一个选项是使用Environment.GetCommandLineArgs.

于 2010-11-22T17:31:27.213 回答
0

我认为问题不在于程序没有启动,而是 messagebox.show 需要在 GUI 中。

请尝试 Msgbox("Message") 代替。

希望有帮助。

于 2010-11-22T17:30:07.270 回答
0

为了帮助您从 C# 过渡到 VB.NET,此站点开发人员融合将 C# 代码转换为 VB.NET。希望您能够看到这两种语言的相关性。

于 2010-11-22T17:44:13.603 回答