Joh*_*tos 4 .net c# vb.net console winforms
我有一个简单的问题,我确信它已被回答,但我似乎无法找到我正在寻找的解决方案.
我的基本问题是我在.Net中创建了一个控制台应用程序,它每天在任务调度程序上自动运行,但现在我的客户端还需要一个基于Windows窗体的界面,他们可以使用它来运行特殊的运行(他们使用GUI指定一些参数 - 例如特定日期等 - 以使程序运行有点不同).
我想这样做的方法是将我的控制台应用程序转换为WinForm解决方案,并包含命令行参数,以便我希望它作为默认的原始控制台应用程序运行,但我认为这不是正确的方法,因为它仍然会涉及表单加载.
我的另一个想法是将"引擎"部分转换为DLL并制作2个可执行文件 - 一个是控制台应用程序,另一个是winforms应用程序,但我不确定这是否正确/可能导致更多维护.
这样做的正确方法是什么?
我在VB中写这个,但如果对你来说更容易,我对C#解决方案同样感到满意.
谢谢!!
您可以修改您的Program.cs以接受参数,然后如果已经将一些args传递给您的应用程序,并从main退出,则启动您的主窗体,如下所示:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
if (ProcessCommandLine(args))
return;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
static bool ProcessCommandLine(string[] args)
{
//Process it, if some has been processed return true, else return false
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2992 次 |
| 最近记录: |