C# 如何在Windows窗体中运行控制台应用程序代码?

C# 如何在Windows窗体中运行控制台应用程序代码?,c#,winforms,C#,Winforms,我用C#in VS制作了一个控制台应用程序 我想做一个按钮,运行一些代码。在本例中,我在控制台应用程序中编写的内容。那怎么办呢 基本上我想创建一组按钮,每个按钮执行一个特定的任务。 我该怎么做?我如何使用我之前创建的代码并让按钮执行它?我可以提到许多选项中的两个: 将控制台应用程序作为DLL处理,并在WinForm Runner应用程序中引用它 将控制台应用程序作为EXE文件处理,并使用进程运行它。启动 第一个选项将使您能够访问方法,而第二个选项将把它作为一个完全独立的应用程序处理,所有功能都作

我用C#in VS制作了一个控制台应用程序

我想做一个按钮,运行一些代码。在本例中,我在控制台应用程序中编写的内容。那怎么办呢

基本上我想创建一组按钮,每个按钮执行一个特定的任务。
我该怎么做?我如何使用我之前创建的代码并让按钮执行它?

我可以提到许多选项中的两个:

  • 将控制台应用程序作为DLL处理,并在WinForm Runner应用程序中引用它
  • 将控制台应用程序作为EXE文件处理,并使用
    进程运行它。启动
  • 第一个选项将使您能够访问方法,而第二个选项将把它作为一个完全独立的应用程序处理,所有功能都作为一个应用程序

    第二个选项的示例:

  • 创建一个包含三个项目的解决方案,如下面的屏幕截图所示
  • 假设您的控制台应用程序1代码为
  • 而第二个是

    using System;
    
    namespace SOC.ConsoleApp02
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Written from Console App 2");
                Console.ReadLine();
            }
        }
    }
    
  • 现在,通过在解决方案资源管理器中的右键单击每个上的来构建控制台应用程序1和控制台应用程序2,然后单击构建重建
  • 这将导致生成执行文件,如以下屏幕截图所示:

  • 在WinForm项目中,编写如下主题按钮代码
  • 结果是

    using System;
    
    namespace SOC.ConsoleApp02
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Written from Console App 2");
                Console.ReadLine();
            }
        }
    }
    
        using System;
        using System.Diagnostics;
        using System.Windows.Forms;
        
        namespace SO.Console.Apps.Runner
        {
            public partial class Form1 : Form
            {
                public Form1()
                {
                    InitializeComponent();
                }
        
            private void button1_Click(object sender, EventArgs e)
            {
                Process.Start(@"C:\REPOS\SO.Console.Apps.Runner\SOC.ConsoleApp01\bin\Debug\SOC.ConsoleApp01.exe");
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                Process.Start(@"C:\REPOS\SO.Console.Apps.Runner\SOC.ConsoleApp02\bin\Debug\SOC.ConsoleApp02.exe");
            }
        }
        }