Ilfar_sif
@Ilfar_sif
эникейщик

Как передать данные из Form1 в Form2 не закрывая формы?

Доброго времени суток!
Так из Form2 передаю данные на Form1:
Аргументы события
public class MyEventArgs : EventArgs
{
    private readonly string _text;
    public string Text { get { return _text; } }

    public MyEventArgs(string text)
    {
        _text = text;
    }
}


форма 2:
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    public delegate void MyEventHandler(object sender, MyEventArgs args);

    public event MyEventHandler MyEvent;

    protected virtual void MyEventRaise()
    {
        if(MyEvent != null)
            MyEvent(this, new MyEventArgs(textBox1.Text));
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MyEventRaise();
    }
}

на первой фоме подписываемся на событие
var form2 = new Form2();
form2.MyEvent += Form2_MyEvent;

разбираем что у нас там пришло
private void Form2_MyEvent(object sender, MyEventArgs args)
{
    // Текст из текстбокса, вставляем куда нам надо
    richTextBox1.Text += args.Text;
}

А как сделать наоборот, передать данные из Form1 в Form2 не закрывая формы?
  • Вопрос задан
  • 578 просмотров
Решения вопроса 1
@Beltoev
Живу в своё удовольствие
Что мешает в Form2 добавить метод для приема данных и вызывать, для примера, в виде form2.UpdateData(...)?

Либо в Form1 создать событие, а уже при создании form2 подписаться на него:
var form2 = new Form2();
form2.MyEvent += Form2_MyEvent;
this.Form1Event += form2.OnEvent;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы