C# 如何将此winforms应用程序转换为控制台应用程序?

C# 如何将此winforms应用程序转换为控制台应用程序?,c#,C#,下面的代码在Windows窗体应用程序中运行良好,但我需要在控制台中运行它 namespace TelnetApp { public partial class TelnetForm : Form { public TelnetForm() { InitializeComponent(); } private Socket clientSocket; IPAddress h

下面的代码在Windows窗体应用程序中运行良好,但我需要在控制台中运行它

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…:-/无论如何,谢谢你