我正在使用.net 4,但没有看到InitializeComponent方法。有吗
这是我正在使用的班级文件
using System;
using System.Drawing; //must add reference
using System.ComponentModel;
using System.Collections;
using System.Windows.Forms; //must add reference
using System.Threading;
using System.Net.Sockets;
using System.IO;
public class Client : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox inputTextBox;
private System.Windows.Forms.TextBox displayTextBox;
private NetworkStream output;
private BinaryWriter writer;
private BinaryReader reader;
private string message = "";
private Thread readThread;
private System.ComponentModel.Container components = null;
//default constructor
public Client()
{
InitializeComponent();
readThread = new Thread(new ThreadStart(RunClient));
readThread.Start();
}
[STAThread]
static void Main()
{
Application.Run(new Client());
}
protected void Client_Closing(object sender, CancelEventArgs e)
{
System.Environment.Exit(System.Environment.ExitCode);
}
//sends text the user typed to server
protected void inputText_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyCode == Keys.Enter)
{
writer.Write("CLIENT>>>> " + inputTextBox.Text);
displayTextBox.Text += "\r\nCLIENT>> " + inputTextBox.Text;
inputTextBox.Clear();
}
}
catch
{
displayTextBox.Text += "\nError writing object";
}
} //end method inputTextBox_KeyDown
//connects to server and display server-generated text
public void RunClient()
{
TcpClient client;
//Instantiate TcpClient for sending data to server
try
{
displayTextBox.Text += "Attempting connection...\r\n";
//Step 1: create TcpClient and connect to server
client = new TcpClient();
client.Connect("localhost", 5000);
//Step 2: Get NetworkStream associated with TcpClient
output = client.GetStream();
//creates objects for writing and reading across streams
writer = new BinaryWriter(output);
reader = new BinaryReader(output);
displayTextBox.Text += "\r\nGot I/O stream\r\n";
inputTextBox.ReadOnly = false;
//loop until server signals termination
do
{
//Step 3: processing phase
try
{
//read message from the server
message = reader.ReadString();
displayTextBox.Text += "\r\n" + message;
}
//handle exception if error in reading server data
catch (Exception)
{
System.Environment.Exit(System.Environment.ExitCode);
}
} while (message != "SERVER>>> TERMINATE");
displayTextBox.Text += "\r\nClosing connection.\r\n";
//Step 4: close connection
writer.Close();
reader.Close();
output.Close();
client.Close();
Application.Exit();
}
catch (Exception error)
{
MessageBox.Show(error.ToString());
}
}
}
最佳答案
Control或其任何子级(如Form)未定义或抽象方法InitializeComponent;它是由设计师从头开始100%生成的。它也是私人的;您不能从控件类外部调用它。如果尚未从设计器开发此Control类,则除非您自己创建一个,否则就没有InitializeComponent方法。
关于c# - C#中的InitializeComponent不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5021458/