как получить значение из окна I window.show (); - PullRequest
0 голосов
/ 07 ноября 2010

Я пишу простое приложение, которое при нажатии кнопки связывает команду, и я делаю

 {...
newEvent.ExecuteTargets += exacuteNewEvent;
    }

    void exacuteNewEvent(string message)
    {
        Window1 w = new Window1();
        w.ShowDialog();

    }

Моя проблема в том, как w вызывает мое главное окно, чтобы узнать, что у него есть новое nassage я должен вставить, чтобы делегировать в W метод окна, которое он должен вызвать? Есть ли другой способ сделать это?

1 Ответ

0 голосов
/ 07 ноября 2010

Передайте ссылку на текущую форму и используйте ее для вызова функций в ней.

class Form1 
{
    void Function() 
    {
        newEvent.ExecuteTargets += exacuteNewEvent;
    }

    void exacuteNewEvent(string message)
    {
        Window1 w = new Window1(this);
        w.ShowDialog();
    }

    public void ExecuteStuffInOtherWindow() 
    {
        // do something
    }
}

class Window1 
{
    Form _otherForm;

    public Window1(Form f) 
    {
        _otherForm = f;
        _otherForm.ExecuteStuffInOtherWindow(); // call code in other form
    }
}
...