如何在Windows窗体应用程序中单击按钮时运行另一个窗体窗体

时间:2014-01-10 06:20:00

标签: c# winforms licensing desktop-application main

我正在使用Windows窗体应用程序,我需要根据用户提供的许可证密钥升级Windows窗体应用程序软件解决方案。假设他已将软件从基本升级到更高版本。在这种情况下,我们希望他输入升级的许可证密钥,该密钥将从我们的中央服务器进行验证,软件将进行升级。 为了升级软件,我需要更改主类程序文件..

以下是程序文件的代码..

namespace UpgradeECV
{
static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}

}

现在,只要用户输入了我想要的正确验证的升级许可证密钥

 Application.Run(new Form1());

更改为

 Application.Run(new Form2());

这怎么可能...... 请帮帮我

2 个答案:

答案 0 :(得分:3)

利用一个简单的bool标记表明用户是否获得许可,然后您可以Run Form1Form2,如下所示:

Form form = isLicensed ? new Form2() : new Form1();
Application.Run(form);

答案 1 :(得分:1)

在这种情况下,您可以运行其他类,而不是运行Form1()类,您将比较版本并决定需要打开哪个Form。

假设版本是XX,那么你可以打开你的第一个形式,否则你的第二个。这样你就可以实现这一点,但我认为没有任何改变代码运行时的可能性。