Потоки C # не будут работать, когда я показываю форму с формой. ShowDialog - PullRequest
0 голосов
/ 25 августа 2018
MyForm myForm = new MyForm();
myForm.ShowDialog();

В MyFormClass

private void MyForm_Load(object sender, EventArgs e)
        {
            nameLabel.Text = user.username;
            waitForServerMsgThread = new Thread(() => {
                Thread.CurrentThread.IsBackground = true;
                AddMessage("Start of this thread");
                try
                {
                    stream = client.GetStream();
                    while (true)
                    {
                        AddMessage(client.Available.ToString());
                        if (client.Available > 0)
                        {
                            byte[] byteToRead = new byte[client.Available];
                            stream.Read(byteToRead, 0, byteToRead.Length);
                            MessageToClient message = (MessageToClient)Commands.FromBytes(byteToRead);
                            if (message.messageType == MessageToClient.MessageType.IncoimgMessage)
                            {
                                MessageFromPerson msg = (MessageFromPerson)message.Message;
                                AddMessage(msg.name + " says: " + msg.msg);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    AddMessage("Could not load data from server error " + ex.ToString());
                }
            });
            waitForServerMsgThread.Start();
            FormClosing += (s, args) => waitForServerMsgThread.Abort();
        }

И он даже не выполнит поток, независимо от того, помещен ли Thread.Start в _Load или когда нажата кнопка. И я не могу загрузить форму с помощью myForm.Show();потому что он не покажет, что закроется после того, как я его назову (ShowDialog() вызывается из Thread)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...