C# 如何将此winforms应用程序转换为控制台应用程序?
下面的代码在Windows窗体应用程序中运行良好,但我需要在控制台中运行它C# 如何将此winforms应用程序转换为控制台应用程序?,c#,C#,下面的代码在Windows窗体应用程序中运行良好,但我需要在控制台中运行它 namespace TelnetApp { public partial class TelnetForm : Form { public TelnetForm() { InitializeComponent(); } private Socket clientSocket; IPAddress h
namespace TelnetApp
{
public partial class TelnetForm : Form
{
public TelnetForm()
{
InitializeComponent();
}
private Socket clientSocket;
IPAddress hostAddress;
public void telnetSocketAsyncEventArgs_Completed(object sender, SocketAsyncEventArgs e)
{
try
{
if (e.SocketError == SocketError.Success)
{
if (e.LastOperation == SocketAsyncOperation.Connect)
{
MessageBox.Show("Service Is Running", hostAddress.ToString(),
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("Service Is not Running", e.SocketError.ToString(),
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (SocketException ex)
{
MessageBox.Show(ex.Message, "Service Is not Running",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void TelnetButton_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(IPTextBox.Text))
return;
if (string.IsNullOrEmpty(PortTextBox.Text))
return;
int port;
hostAddress = IPAddress.Parse(IPTextBox.Text);
int.TryParse(PortTextBox.Text, out port);
clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
SocketAsyncEventArgs telnetSocketAsyncEventArgs = new SocketAsyncEventArgs();
telnetSocketAsyncEventArgs.RemoteEndPoint = new IPEndPoint(hostAddress,port);
telnetSocketAsyncEventArgs.Completed += new
EventHandler<SocketAsyncEventArgs>(telnetSocketAsyncEventArgs_Completed);
clientSocket.ConnectAsync(telnetSocketAsyncEventArgs);
}
catch (SocketException ex)
{
MessageBox.Show(ex.Message, "Service Is not Running",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
}
}
}
}
创建一个新的控制台应用程序项目,将代码复制到其中,并将button click事件中的代码放入main方法中。您可能需要更改其他方法签名以包括静态签名 删除对MessageBox的调用,并将其替换为对Console.WriteLine的调用。此外,由于没有文本框供用户输入数据,因此需要解析命令行参数,这很容易,因为它们在静态void Mainstring[]args中以数组的形式出现
然后,启动调试器并检查是否存在问题。只需将代码复制到控制台应用程序中,添加对System.Windows.Forms的引用,并使用System.Windows.Forms添加;使用指令来保留消息框
如果不需要消息框,请使用Console.WriteLine。StackOverflow不是一种代码编写服务。请阅读并显示您正在尝试的.Project/Properties/Application/Output类型,不是吗;:-我不知道这是存在的——无论如何,你可以帮忙-该死,我没弄明白。问题在-7…:-/无论如何,谢谢你