C# 重新启动windows窗体应用程序,首先初始化不同的窗体

C# 重新启动windows窗体应用程序,首先初始化不同的窗体,c#,visual-studio-2012,sql-server-2008-r2,C#,Visual Studio 2012,Sql Server 2008 R2,我正在使用Windows窗体执行提醒项目。我使用两种形式,即提醒执行和提醒。我正在使用提醒执行设置提醒,并在数据库中存储时间等详细信息。我已经为提醒编写了代码,以使用存储在数据库中的计时触发提醒。问题是每次我都必须先初始化提醒表单手动重新启动应用程序,以便使用提醒执行表单触发提醒集。有没有一种方法可以让我在程序本身中做到这一点 要设置提醒,我必须使用: static class Program { [STAThread] static void Main() {

我正在使用Windows窗体执行提醒项目。我使用两种形式,即
提醒执行
提醒
。我正在使用
提醒执行
设置提醒,并在数据库中存储时间等详细信息。我已经为
提醒
编写了代码,以使用存储在数据库中的计时触发提醒。问题是每次我都必须先初始化
提醒
表单手动重新启动应用程序,以便使用
提醒执行
表单触发提醒集。有没有一种方法可以让我在程序本身中做到这一点

要设置提醒,我必须使用:

static class Program
{  
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new reminderform());
    }
}
static class Program
{

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new reminder());
    }
}
要使应用程序触发提醒,我必须使用:

static class Program
{  
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new reminderform());
    }
}
static class Program
{

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new reminder());
    }
}

提醒执行
不应与数据库交互(如您所说,用于存储诸如计时之类的详细信息)。该逻辑应该封装在不同的类中。这样做的目的是将模型与视图分开。如您所知,如果不这样做,则很难根据模型(即数据库)中的信息选择正确的视图。分离出此逻辑后,就可以选择要向用户显示的适当视图。例如(请记住这是非常假设的):


您可能不应该更改传递给
应用程序的表单。请运行
。我个人会让我的主窗体在系统托盘中用图标运行,并用
Outlook
样式的弹出窗口显示提醒。

static void main()
更改为
static void main(string[]args)
,并在从数据库激活程序时发送命令行参数。您可以从Main中的
args
数组访问它