Нажатием на кнопки на 1 форме запустить код который запускался на 2 форме

Есть чат в нем изначально кнопка войти в чат была на главной форме , но я перенес ее на форму входа получилось организовать обмен между формами . Но кнопка войти в чат не работает.Вопрос в том чтобы при нажатии кнопки на форме входа нажималась еще и кнопка на главной форме как это реализовать?

Это код кнопки на форме входа

public void button2_Click(object sender, EventArgs e)
{
    Form1.ActiveForm.Hide();
    ChatForm ChatForm = new ChatForm();
    ChatForm.nicknameData.Text = this.textBox1.Text;
    ChatForm.ShowDialog();  
    Close();        
}

Это код кнопки войти в чат на главной форме

private void enterChat_Click(object sender, EventArgs e)
{
    
    string nickName = nicknameData.Text;
    if (string.IsNullOrEmpty(nickName))
        return;
    Send($"#setname|{nickName}");
}

Ответы (1 шт):

Автор решения: Andrew
  • Вариант 1 - Передавай инстанс одной из форм в другую. Тогда ты сможешь обращаться через этот инстанс до необходимых дочерних элементов.
  • Вариант 2 - посылай сигнал и там на него реагируй. Но это должна быть система сигналов.
  • Вариант 3 - Правильный вариант: раздели юай и логику чата. Тогда не возникнет проблем подобных.
→ Ссылка