Anasayfa » nasıl » ShowDialog olmadan Windows Forms Windows arasında Değişkenleri Geçiş ()

    ShowDialog olmadan Windows Forms Windows arasında Değişkenleri Geçiş ()

    Bir Windows Forms uygulamasını programlarken, sürekli olarak bir seçenek formu veya açılır arama sorgusu gibi ikinci bir form penceresinden değişkenler almanız gerekir..

    Kılavuzların çoğu, kullanıcının ikinci form penceresini kapatana kadar başka bir şey yapmasını engelleyen ikinci formu ShowDialog () ile açmanız gerektiğini söyleyecektir. Bu, örneğin bir bul / değiştir iletişim kutusu için çok iyi çalışmaz. Ayrıca özel açılan pop-up formları için çok iyi çalışmaz.

    Formlar arasında değişkenleri iletmenin hızlı yolu Delegates'i kullanmaktır. İkinci formun Closing olayı için bir eventhandler ayarlayabilir ve olayı ilk formda işleyebilirsiniz. Bu, ikinci form penceresi kapanmadan önce değişkenleri yakalamanızı sağlar.

    Bu alıştırma için iki formumuz olduğunu varsayacağız:

    Ana form

    OptionsForm

    OptionsForm'u Show () yöntem çağrısı ile açan bir tür düğmeyi tıkladığımızı varsayacağız. Şimdi sihre bir göz atalım:

    …. snip ... .

    OptionsForm theform = new OptionsForm ();
    theform.Closing + = new CancelEventHandler (theform_Closing);
    theform.Show ();

    özel geçersiz theform_Closing (nesne gönderen, CancelEventArgs e)

    OptionsFormformform = (OptionsForm) gönderen;

    // Değişkeni seçenekler formundan al. Seçenekler formu kapanmadan önce bu değişkeni ayarlamalı ve değişken genel olarak işaretlenmelidir.
    string localvar = theform.thestringvariable;

    Hepsi bu kadar..