我有一个表单应用程序作为DLL,我想在我的控制台应用程序中运行它。我该怎么做

时间:2016-07-06 09:28:32

标签: c# forms console console-application

我有一个控制台应用程序,我想用它运行这个Dll的代码:

这是Dll的代码:

namespace shutdown_msg
{
    public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Process.Start("shutdown", "/s /t 0");
    }

    private void label1_Click(object sender, EventArgs e)
    {

    }
}
}

这是我应该“运行”Dll的控制台应用程序代码

  if (txt.IndexOf("shutdown") >= 0)
            {

            Console.WriteLine("shutdown was said");
            System.Windows.Forms.Application.Run(new shutdown_msg.Form1());

            }

2 个答案:

答案 0 :(得分:0)

您没有运行dll,只能引用它。您可以运行exe

您有两个选择:

1-生成可执行文件:

您可以构建Windows窗体应用程序,然后可以从项目文件夹中获取“exe”。然后,您可以使用

在控制台应用程序中运行它
Process.Start("yourPathHere.exe");

2-生成一个dll:

在Winforms项目中转到Project =>右键单击=>属性>输出类型=>班级图书馆。

在控制台应用中: 右键单击References =>添加参考=>浏览到您的dll路径。

并为System.Windows.Forms.dll添加参考。

然后从控制台应用程序:

static void Main(string[] args)
{
    var f = new WindowsFormsProjectName.Form1();
    f.ShowDialog();
}

OR:

static void Main(string[] args)
{
    System.Windows.Forms.Application.Run(new WindowsFormsProjectName.Form1());
}

答案 1 :(得分:0)

Application.Run(new shutdown_msg.Form1());

直接运行您的表单。

您可以在任何正常的WinForm项目中的Program.cs中找到相同的代码。