none
parametre olarak projede var olan bir form adı göndermek RRS feed

  • Soru

  • formMenu de 6 tane butonum var. her biri projedeki diğer formların açılması için kodlanacak.

    her bir butonun click olayına ayrı ayrı;

                frmAyar Ac = new frmAyar();
                this.Hide;
                Ac.Show();

    gibi bir kod yazmaktansa, sadece;

    pencereAc(frmAyar);

    şeklinde, tıklanan butonun açmak istediği pencerenin adını parametre olarak göndereceğim bir kod yazmak istiyorum.

    metod tanımlarken parametre kısmına ne yazmam gerekiyor ve metodu çağırırken nasıl çağırmalıyım?

    private void pencereAc(.............)

    9 Ağustos 2014 Cumartesi 20:37

Yanıtlar

  • Sonunda form açmak için method kullanan birini gördüm :)

    Form adı ile de açılır ama neden açılacak formun instance'ını göndermiyorsun daha kolay olur.

    private void FormAç(Form AçılacakForm)
    {
        AçılacakForm.MDIParent = this;
        AçılacakForm.Show();
    }
    
    kullanırken;
    
    FormAç(new frmAyar());



    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    10 Ağustos 2014 Pazar 06:49
    Moderatör
  • Başka işler için yapılmış olan Reflection kullanabilirsin. Tekrar edeyim, yönetilmesi zor bir yöntemi zorluyorsunuz, şu an öngörülemeyecek sorunlar oluşabilir. Kullanımı şöyle;

    using System.Reflection;
    
    
    
    
    public void FormAç(string AssemblyAdı, string FormAdı)
    {
        var f = (Form)Activator.CreateInstance(AssemblyAdı, FormAdı);
        f.Show();
    }
    
    //kullanırken;
    
    FormAç("BenimProjem", "frmAyar");


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    11 Ağustos 2014 Pazartesi 06:15
    Moderatör

Tüm Yanıtlar

  • Sonunda form açmak için method kullanan birini gördüm :)

    Form adı ile de açılır ama neden açılacak formun instance'ını göndermiyorsun daha kolay olur.

    private void FormAç(Form AçılacakForm)
    {
        AçılacakForm.MDIParent = this;
        AçılacakForm.Show();
    }
    
    kullanırken;
    
    FormAç(new frmAyar());



    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    10 Ağustos 2014 Pazar 06:49
    Moderatör
  • hızlı cevap için teşekkürler...

    dilin mantığına ne kadar uyar bilmiyorum ama, şöyle bir şey yapılabilir mi peki?

    açılmak istenen form'un adı formismi (string) değişkeninde tutuluyorsa

    çağırırken FormAç(formismi) diyebilmek için methodu nasıl tanımlamalıyız?


    11 Ağustos 2014 Pazartesi 01:52
  • Başka işler için yapılmış olan Reflection kullanabilirsin. Tekrar edeyim, yönetilmesi zor bir yöntemi zorluyorsunuz, şu an öngörülemeyecek sorunlar oluşabilir. Kullanımı şöyle;

    using System.Reflection;
    
    
    
    
    public void FormAç(string AssemblyAdı, string FormAdı)
    {
        var f = (Form)Activator.CreateInstance(AssemblyAdı, FormAdı);
        f.Show();
    }
    
    //kullanırken;
    
    FormAç("BenimProjem", "frmAyar");


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    11 Ağustos 2014 Pazartesi 06:15
    Moderatör