C# Form Aktif/Pasif Etme

 

 

 

 

Resimleri  direk sanalkurs'a yüklersen yardımcı olabiliriz. Hızlı resimden yüklediğinden bende resimler görünmüyor. Ayrıca hızlı resime yüklemek yanlış bir dşey çünkü resimler bir süre sonra siliniyor ve aynı sorunu yaşayan insanlar gelip baktığında hiçbir şey anlamıyor. Lütfen resimleri sanalkurs'a yükle ve yardımcı olmaya çalışalım

Resimleri direk burdan ekledim

 

Öğrenmek istediğim şey şu

Giriş yaptığımda form 2ye geri döüyorum ama butonları aktif edemiyorum. Form 3teyken form 2deki butonlara müdahale edemiyorum

Selamlar ,

Şimdi anladığım kadarı ile,

Form2  anaform'un ve orada kayıt ol, giriş yap gibi butonların var ve aktif etmek istediğin butonlar da bu form üzerinde.

Login dediğinde login (form 3) formu açılıyor ve bilgiler doğru ise login formu kapanıyor ve form2'e geri dönüyor.

Form2 ye geri dödüğünde ise pasif olan butonların aktif olmasını istiyorsun.

Bu şekilde ise;

// form2 =  anaform
// form3 = loginform

//anaformu düzenleyelim.
 private void btn_loginformGoster_Click(object sender, EventArgs e)
 {
     loginform fr =  new loginform();
     fr.ShowDialog(); 
     //showdialog() ile formu açıtığımızda giriş yapılıp form kapandığında form açma kodlarının
     //altındaki kodlardan çalışmaya devam eder.
     if(fr.GirisKontrol == 1)
     {
        //istediğin butonları burada aktif et
        //istediğin butonları burada pasif et
     }
 }       

//loginformu düzenleyelim.
namespace Projem
{
    public partial class loginform : DevExpress.XtraEditors.XtraForm
    {
        public loginform () { InitializeComponent(); }

        public int GirisKontrol  = 0; 
        //bu değişkenin amacı geriye giriş yapıldı bilgisini göndermek.
        //giriş başarılı ise istediğimiz butonları bu kontrol sayesinde açacağız.

        private void btn_login_Click(object sender, EventArgs e)
        {
            //giriş kontrol kodların...
            if(Kontrol == 0)
            {
                 messagebox ("Giriş başarısız. Lütfen bilgilerinizi kontrol ediniz.");
            }
            else
            {
                 messagebox ("Giriş başarılı. Teşekkürler.");
                 GirisKontrol  = 1;         
                 Close();
            }
        }
    }
}

şekilde bir yöntem ile istediğini yapabilirsin ama dediğim gibi verdiğin bilgilerden anladığım kadarı ile bu şekilde tarif edebilirim.

Bu işini görmezde daha ayrıntılı bilgi vermeni isteyeceğim.

Saygılarımla.

Evet anlatmak istediğimi anlamışsınız her ne kdr ben tam olarak anlatamamış olsam da tşk ederim. Ancak verdiğiniz kodların çoğu şuan kullanıyrm ama istediğim sonuca varamadım. Rica etsem uzaktan bağlanma şansınız varmı acaba

C# formları Form sınıfından türetilmiş alt sınıflardır.

Form adlarınızın FormGiris ve FormLogin olduğunu varsayalım.

Panelin adı da kisitliPanel olsun.

NOT: kisitliPanel için access modifier "public" olmalıdır.

Properties panelinden kisitliPanel seçiliyken Access Modifier: public seçin.

1. Yöntem

FormGiris

public partial class FormGiris : Form
{
  public static FormGiris ERISIM;

  public FormGiris()
  {
    InitializeComponents();
    ERISIM = this;
  }
}

FormLogin

public partial class FormLogin : Form
{
  private void LoginButton_Click(Object sender, EventArgs e)
  {
    // giriş yapıldı
    FormGiris.ERISIM.kisitliPanel.Enable = true;
  }
}

 

2. Yöntem

Forms adında yeni bir sınıf dosyası oluşturun.

Forms.cs

public static class Forms
{
  public static FormGiris formGiris;
  public static FormLogin formLogin;
}

Program.cs

Forms.formGiris = new FormGiris();

Application.Run(Forms.formGiris);

FormLogin.cs

public partial class FormLogin : Form
{
  private void LoginButton_Click(Object sender, EventArgs e)
  {
    // giriş yapıldı
    Forms.formGiris.kisitliPanel.Enable = true;
  }
}

 

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git