Я хотел бы нажать кнопку «Добавить», чтобы добавить контакты в список контактов в ClientApp, но ничего не добавлено в поле, только в список с именами пользователей.

Я хочу видеть новый ник в списке. Но когда я вызываю функцию «Добавить контакт» из другой формы, я не вижу нового пользователя в списке, это тоже хорошо.

В атрибутах я вижу эту ячейку с именем «dwa».

Кто-нибудь поможет?

AddUsser:

  public partial class NewUser: Form
  {
    ...

     public void New()
     {
        ClientApp.users.Add(new accounts(textBox1.Text, textBox2.Text));
        ClientApp x = new KlientApp();
        x.AddContact(textBox2.Text);
        this.Hide();
    }
  }

ClientApp:

public partial class ClientApp: Form
{
    ...

    public void AddContact(string nick)
    {
        contacts.BeginUpdate();
        contacts.Items.Add(nick);
        contacts.EndUpdate();
    }
}

введите описание изображения здесь

Джеллио Гао. Я вшиваю ObjectDisposedException в private void Msg, когда закрываю программу на ходу:

 private void ShowMsg()
{
    bool temp = true;
    while( temp == true)
    {
        if(DateTime.Now.Second % 3  == 0)
        {  
            Msg();
            showed.WaitOne();
            showed.Reset();
            showed.WaitOne(1000);                  
        }
    }
}

  private void Msg()
{
    ClientLog.send_msg= "Wyswietl wiadomosci";
    ClientLog.received.Reset();

    Thread wątek = new Thread(new ThreadStart(AsynchronousClient.StartClient));
    wątek.IsBackground = true;
    wątek.Start();

    ClientLog.received.WaitOne();
   
    Invoke(new Action(() =>
    {
        if (ClientLog.send_msg!= "")
        {
        messages.AppendText(ClientLog.send_msg+ Environment.NewLine);
        }
    }));
    showed.Set();
}
-1
Maniek 30 Июн 2020 в 03:47

1 ответ

Лучший ответ

Вы должны передать экземпляр ClientApp в NewUser вместо создания нового экземпляра внутри NewUser. Что-то типа:

   public partial class NewUser: Form
   {
        private ClientApp _client;
        public NewUser(ClientApp client)
        {
            this._client = client;
        }
    ................
        public void New()
        {
            ClientApp.users.Add(new accounts(textBox1.Text, textBox2.Text));
            this._client.AddContact(textBox2.Text);
            this.Hide();
        }
   }

Обновление: приведите пример использования this._client.

0
Gellio Gao 30 Июн 2020 в 03:11