【问题标题】:C# - How to change the Startup form Programmatically? [duplicate]C# - 如何以编程方式更改启动表单? [复制]
【发布时间】:2017-02-16 23:19:02
【问题描述】:

是否可以以编程方式更改启动表单,因为当我的应用程序启动时它要求输入序列号,我希望它只显示一次,当用户输入序列号并按下继续按钮时,它会检查如果序列号正确,带他到主窗体。

但是用户输入序列号后如何更改启动Form呢?

例如,我希望它引导他们使用 Form1 而不是 TrialCheck。 我正在使用 Visual Studio 2015 C#。

【问题讨论】:

  • 看看你现在在做什么会很有帮助。
  • @DonBitnott 你到底是什么意思?
  • Program.cs 文件中的Main() 方法中,检查用户是否已经输入了有效的序列号。如果有,加载Form1,如果没有,加载TrialCheck
  • @JoshPart 我无法与其他表单的控件进行交互,例如,如果我使用: static void Main() { if(TrialCheck.textBox1.Text == "SERIAL") { Application .EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(新的 TrialCheck()); } } 它说由于保护级别,我无法访问它

标签: c# winforms visual-studio


【解决方案1】:

您的项目有一个Program.cs 文件,它是您程序的入口点。

在其Main() 方法中,您应该执行验证,然后决定加载哪个表单。

static class Program
{
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        bool registered = FunctionThatChecksSerialNumber();
        if (registered)
        {
            Application.Run(new Form1());
        }
        else
        {
            Application.Run(new TrialCheck());
        }
    }
}

【讨论】:

  • 是的,我从 OP 的问题中了解到 TrialCheck 会处理这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-10
  • 2012-09-27
  • 1970-01-01
  • 2015-07-13
  • 1970-01-01
  • 2014-02-22
相关资源
最近更新 更多