C#

Как исправить ошибку ссылка на объект c# winforms

static void Rat()
{

new Thread(() => // Новый поток
{


if (checkBox1.Checked)
{

}

if (checkBox2.Checked)
{

}

TcpListener _ServerSocket = new TcpListener(IPAddress.Any, 7777);
_ServerSocket.Start(); // Запуск Server socket
MessageBox.Show("The server is running!!!"); // Сообщение о старте Server socket

while (true)
{
TcpClient _ClientSocket = _ServerSocket.AcceptTcpClient(); // Ожидаем подключения client
NetworkStream _Stream = _ClientSocket.GetStream(); // Отправка данных
string message = "Hhhi!"; // отправляемое ссобщение
byte[] bytes = Encoding.ASCII.GetBytes(message);
_Stream.Write(bytes, 0, bytes.Length); // Отправка data
_Stream.Flush(); // Запись data в _Stream.Write
_ClientSocket.Close(); // Закрытие подключения TCP
}


}).Start();

}

Пиши "Form1.checkBox1.Checked"
Михаил Анохин
Михаил Анохин
84 818
Лучший ответ
private static void Rat()
{
new Thread(() => // Create a new thread
{
if (checkBox1.Checked)
{
// Add code here
}

if (checkBox2.Checked)
{
// Add code here
}

TcpListener serverSocket = new TcpListener(IPAddress.Any, 7777);
serverSocket.Start(); // Start the server socket
MessageBox.Show("The server is running!!!"); // Show a message indicating the server has started

while (true)
{
TcpClient clientSocket = serverSocket.AcceptTcpClient(); // Wait for a client connection
NetworkStream stream = clientSocket.GetStream(); // Get the network stream to send data
string message = "Hi!"; // The message to send
byte[] bytes = Encoding.ASCII.GetBytes(message);
stream.Write(bytes, 0, bytes.Length); // Send the data
stream.Flush(); // Flush the data to the stream
clientSocket.Close(); // Close the TCP connection
}

}).Start();
}
ИИ: Ошибка "ссылка на объект не указывает на экземпляр объекта" возникает, когда вы пытаетесь обратиться к объекту, который не был создан или его значение равно null.

В вашем коде ошибка возникает при попытке обратиться к checkBox1 и checkBox2. Это означает, что эти объекты не были созданы или не были присвоены значение.

Чтобы исправить эту ошибку, необходимо создать экземпляры checkBox1 и checkBox2 или присвоить им существующие экземпляры этих классов. Для этого необходимо добавить следующий код перед кодом, вызывающим ошибку:

java
 CheckBox checkBox1 = new CheckBox();  

CheckBox checkBox2 = new CheckBox();

Либо если эти объекты уже существуют, просто присвойте им соответствующие экземпляры:

java
 CheckBox checkBox1 = existingCheckBox1Instance;   

CheckBox checkBox2 = existingCheckBox2Instance;