كيفية الحصول على القيمة من نافذة i window.show () ؛

StackOverflow https://stackoverflow.com/questions/4117225

  •  29-09-2019
  •  | 
  •  

سؤال

أنا أكتب تطبيقًا بسيطًا يتم النقر عليه عند النقر على أمر يتم نقره ، وهو أمر مشدود وأنا أفعله

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

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

    }

مشكلتي هي كيف استدعاء نافذتي الرئيسية لمعرفة أنها تحتوي على ناس جديد ، هل يجب أن أدخل تفويضه بطريقة WA من النافذة التي يجب أن يستدعيها؟ هل هناك طريقة أخرى للقيام بذلك؟

هل كانت مفيدة؟

المحلول

تمرير مرجع إلى النموذج الحالي واستخدم ذلك لاستدعاء الوظائف عليه.

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
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top