[英]C# Console App as a Windows Form
我在视觉工作室中以控制台应用程序开始了一个项目,现在发现我需要一个UI(窗体),但是当我运行该程序时,它就是一个控制台。 无论如何,是否需要通过按钮事件运行控制台应用程序中的Program.cs代码?
我的代码的尖刺:
using System;
using System.Net.Sockets;
using System.IO;
public class Program
{
public static string name = null;
public static string userloc = null;
public static string protocol = null;
public static int Portal = 43;
public static string Address = "whois.net.dcs.hull.ac.uk";
static void Main(string[] args)
{
for (int i = 0; i < args.Length; i++)
{
switch (args[i])
{
case "-h0":
protocol = "-h0";
break;
case "-h1":
protocol = "-h1";
break;
case "-p":
Portal = int.Parse(args[i + 1]);
++i;
break;
表格代码:
namespace location
{
public partial class Location : Form
{
public Location()
{
InitializeComponent();
}
private void updateBtn_Click(object sender, EventArgs e)
{
}
}
}
您最需要的是如何将.NET控制台应用程序转换为Winforms或WPF应用程序 。
然后,您在注释中询问“我如何让表单上的按钮运行Main()代码?”。 我假设您知道单击updateBtn
时将执行updateBtn_Click
方法,并且我假设这是您称为“我的表单上的按钮”的按钮。
答案是,您不想让按钮单击调用Program.Main
,因为那是应用程序的入口点。
我还假设您想保留命令行参数,因此需要将args
的处理留在Program.Main
。
无论其余功能是什么,您都可以将其直接移到表单中,并updateBtn_Click
方法中。 可能需要对代码进行调整,以在命令行名称前加上Program.
来获取命令行参数的值Program.
因为它们都是静态的(例如Program.Portal
)。
目前,这可能会满足您的要求。 随着时间的流逝,您将意识到将代码塞入“后面的代码”(这是我刚刚告诉您要做的)并不是一个好主意。 如果您重构代码,则可以从命令行,WinForm应用程序或WPF或Web应用程序使用功能。 但是也许现在已经足够了...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.