C# 动态启动窗体

C# 动态启动窗体,c#,.net,vb.net,C#,.net,Vb.net,我在VB.net中有两种不同形式的应用程序(Form1和Form2)。 现在我需要检查一些条件,若条件为真,那个么我为启动设置Form1 若并没有,那个么我将Form2设置为启动表单 那么,是否存在动态调用启动窗体的方法? 谢谢 如果查看主执行方法(通常是Program.cs或Program.vb),您将看到静态main(string[]args)方法。然后可以使用命令行参数来决定显示哪个表单 请注意,下面的示例是C#中的,但应该会给出大致的想法 public static Main(strin

我在VB.net中有两种不同形式的应用程序(Form1和Form2)。 现在我需要检查一些条件,若条件为真,那个么我为启动设置Form1 若并没有,那个么我将Form2设置为启动表单

那么,是否存在动态调用启动窗体的方法?
谢谢

如果查看主执行方法(通常是
Program.cs
Program.vb
),您将看到静态
main(string[]args)
方法。然后可以使用命令行参数来决定显示哪个表单

请注意,下面的示例是C#中的,但应该会给出大致的想法

public static Main(string[] args)
{
    // initialization omitted

    if (args.Length.Equals(0))
    {
        // load form 1
    }
    else if (args[0].Equals("SomeValue", StringComparison.OrdinalIgnoreCase)
    {
        // load form 2
    }
    else 
    {
        // load form 3
    }
}

如果查看主执行方法(通常是
Program.cs
Program.vb
),您将看到静态
main(string[]args)
方法。然后可以使用命令行参数来决定显示哪个表单

请注意,下面的示例是C#中的,但应该会给出大致的想法

public static Main(string[] args)
{
    // initialization omitted

    if (args.Length.Equals(0))
    {
        // load form 1
    }
    else if (args[0].Equals("SomeValue", StringComparison.OrdinalIgnoreCase)
    {
        // load form 2
    }
    else 
    {
        // load form 3
    }
}

检查名为
Program.vb
的文件。这就是初始化启动表单的地方。您可以将逻辑放在那里。

检查名为
Program.vb的文件。这就是初始化启动表单的地方。您可以将您的逻辑放在那里。

将您的主要方法更改为以下内容:

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    if(...condition...)
    {
        Application.Run(new Form1());
    }
    else
    {
        Application.Run(new Form2());
    }
}

这是C#但原理也适用于VB。

将主要方法更改为以下内容:

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    if(...condition...)
    {
        Application.Run(new Form1());
    }
    else
    {
        Application.Run(new Form2());
    }
}
这是C#,但该原理也适用于VB