我在VB中有一个Windows窗体应用程序 我想条件是如果参数通过命令行传递,那么表单不应该显示。 我不知道为什么下面的代码不起作用 任何建议将不胜感激 谢谢 戴维
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim args As String() = Environment.GetCommandLineArgs()
MsgBox(args.count())
If args.Count() > 1 Then
If args(1) = "delete" Then
If args.Count() = 3 Then
deletepage(args(2), args(5))
Close()
End If
ElseIf args(1) = "add" Then
If args.Count() >= 5 Then
addpage(args(2), args(3), args(4), args(5))
Close()
End If
End If
End If
loadnames()
End Sub
消息框出现并显示5(传递了5个参数) 但是程序完全忽略了if语句,并提出了形式??
答案 0 :(得分:0)
查看您的代码:
If args.Count() = 3 Then
deletepage(args(2), args(5))
...
你是说如果args的数量等于3,那么继续尝试访问args(5),这将是第6个参数。 您也是在表单的加载事件which if your OS is a 64 bit OS any unhandled errors will be silently swallowed中执行此操作而没有任何通知。