除非符合条件,否则防止加载表单

时间:2014-09-19 04:31:39

标签: vb.net forms onload-event

我在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语句,并提出了形式??

1 个答案:

答案 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中执行此操作而没有任何通知。