Передача переменной между winforms

У меня проблема с делегатами в приложении Windows.Forms.

Есть две формы:

  1. основная форма, в которой есть кнопка с именем «Настройки».

  2. настройки », это« дочерняя »форма.

Когда я нажимаю кнопку «Настройки» в главной форме, открывается экземпляр формы «Настройки».

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

Вот что я сделал на данный момент, код в основной форме:

public partial class MainForm : Form
{

    /// <summary>
    /// delegate to send data between forms
    /// </summary>
    public delegate void PageInfoHandler(object sender, PageInfoEventArgs e);
    /// <summary>
    /// event of the delegate
    /// </summary>
    public event PageInfoHandler PageInfoRetrieved;

    //other stuff, events blabla

    private void toolStripBtnSettings_Click(object sender, EventArgs e)
    {
        PageInfoEventArgs args = new PageInfoEventArgs(SomeString);
        this.OnPageInfoRetrieved(args);

        SettingsForm settingsForm = new SettingsForm();
        settingsForm.ShowDialog();  
    }

    private void OnPageInfoRetrieved(PageInfoEventArgs args)
    {
        if (PageInfoRetrieved != null)
            PageInfoRetrieved(this, args);
    }
}
5
задан ROMANIA_engineer 14 January 2018 в 20:22
поделиться