winforms - 使用 winform dll 运行控制台应用程序(.net CORE)时控制台未显示(仅显示表单)
问题描述
编辑 :
我在我的 .csproj 中添加了以下内容
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
</Project>
现在可以了!
但是只有表格出现了?控制台与 Form 一起显示的任何解决方法?
我之前关于该主题的问题不清楚。因此,我正在尝试重新构建它。
我基本上有一个编写为 Console app (.net Core) 的库,我想发布它。在发布之前,我想创建一个表单,以便任何使用该库的用户都能看到该表单(要求他的比赛发送用户数据)。
/****************** 问题 ****************************** /
现在,为了创建表单,我为 System.Windows.Forms 添加了程序集,并在 main 中编写了基本代码:
但是在运行它时,没有显示表单的预览...只是控制台窗口
如果我在 .NET FRAMEWORK 的控制台应用程序上执行相同操作 -> 添加用于表单和设计的 dll,然后在 main 中编写相同的代码,我将获得 Form 的预览。
那么为什么在 .NET CORE 控制台应用程序的情况下不显示呢?
此外,图片中的 program.cs 文件似乎通过图标更改为表单版本。但点击它会给我错误:
那么如何在 .NET CORE 控制台应用程序中添加弹出窗口或表单?
解决方案
您可以尝试以下步骤将控制台与表单一起显示。
首先,请在您的visual studio 2019中添加一个名为Widows Forms Class Library的项目。(请选择.net core 3.0)
其次,请向图书馆添加表格。
public partial class TestForm : Form
{
public TestForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello, world");
}
}
第三,我们可以将库添加到 .net core 3.0 控制台应用程序中。
最后,我们可以使用以下代码在控制台应用程序中显示表单和控制台。
static void Main(string[] args)
{
Console.WriteLine("hello,world");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new TestForm());
Console.ReadKey();
}
结果: