Form2 nasil goruntuleyebilirim...

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Burhan_ast
Üye
Mesajlar: 143
Kayıt: 15 Haz 2003 08:33
Konum: Almaty, Kazakhstan

Form2 nasil goruntuleyebilirim...

Mesaj gönderen Burhan_ast »

Mrb arkadaslar,

C# ile form2 veya diger formlari nasil goruntuleyebilir,

Delphide

form2:=Tform2.Create(Self);
form2.Showmodal;
form2.Free;

:) bunun C# karsiligi lazim
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

2. formun sınıf ismi form2 olsun.

Kod: Tümünü seç

 
 form2 yeniform= new form2();
 yeniform.ShowDialog();  //modal olarak göster
 
 // form2 de istenen butona basıldığında  
//this.DialogResult = DialogResult.OK; 
//dersen bu form üzerinde


if (yeniform.DialogResult==DialogResult.OK)
  Messagebox.Show("Ok butonuna basıldı");

//şeklinde kontrol edebilirsin.
// dialog olarak gösterilen form köşedeki çarpı işaretinden kapatılırsa DialogResult.Cancel olarak gelir.

//form2.free de sanırım yeniform.Dispose(); şeklinde oluyodu
memiky
Üye
Mesajlar: 116
Kayıt: 17 Kas 2004 01:52
İletişim:

Mesaj gönderen memiky »

Birden fazla forma sahip projelerde 2. veya 3. formun nasıl ekrana getirildiğini anlatmak için komut verip projeye Form2 adında 2. bir form dahil ettim. Ardından ilk forma “Goster” adında bir düğme yerleştirip bu düğmenin Click yordamına aşağıda verdiğim satırı yazdım.

private void Goster_Click(object sender, EventArgs e)
{
Form2 Yeni_form = new Form2();
}

İlk formun üzerindeki düğmenin Click yordamına yazdığım bu satır ile Form2’den yola çıkılarak “Yeni_Form” adında bir form nesnesi hazırlanmaktadır. Bu şekilde hazırlanan nesne Show() metoduna parametre olarak verilirse Form2 ekrana getirilir.

private void Goster_Click(object sender, EventArgs e)
{
Form2 Yeni_form = new Form2();
Yeni_form.Show();
}

Yukarıda değişken tanımlama veya nesne hazırlama satırını düğmeye ait Click yordamına yazdım. Bu nedenle çalışma anında ekranda Form2 varken Form1’deki düğme 2. kez tıklanırsa aynı nesne tekrar oluşturulur ve Form2 tekrar ekrana getirilir.

Ekranda 2. form varken yukarıda verilen kod işletildiğinde aynı formun 2. veya 3. kopyalarının hazırlanıp ekrana gelmesini engellemek için kullanılabilinecek değişik teknikler olmakla birlikte ilk aklıma geleni buraya yazacağım. Bu amaçla “Göster” düğmesi için hazırladığım kodu aşağıda verilen şekilde düzenleyip Show metodu yerine ShowDialog metodunu kullandım.

private void Goster_Click(object sender, EventArgs e)
{
Form2 Yeni_form = new Form2();
Yeni_form.ShowDialog();
}

ShowDialog metodu ile ekrana getirilen form kapatılmadan projenin ana formuna geçilemez. Bu sorunun önüne geçmek, başka bir deyişle 2. formu hem Show metodu ile ekrana getirmek hem de ekranda aynı anda 2. kopyasının olmasını engellemek için değişken tanımlama satırı düğmeye ait Click yordamının dışına alınabilir. Aşağıda verilen koddu bu işlemi yaptım. Bu şekilde tanımlanan değişken formdaki bütün yordamlarda kullanılabilinir.

Form2 Yeni_form = new Form2();
private void Goster_Click(object sender, EventArgs e)
{
Yeni_form.Show();
}

Bu şartlarda “Göster” düğmesini tekrar tekrar tıklasanız bile Form2 tekrar ekrana getirilmez. Ancak bu şekilde ekrana getirdiğiniz 2. formu kapattıktan sonra Show metodu ile tekrar ekrana getirmek istemeniz halinde hata meydana gelir. Bu sorunun önüne geçmek formu oluşturup Show metodu ile ekrana getiren satırları aynı yordama yazdım ama formu tekrar new metodu ile oluştururken mevcut olup olmadığını araştırdım.

Form2 Yeni_form;
private void Goster_Click(object sender, EventArgs e)
{
if(Yeni_form == null || Yeni_form.IsDisposed)
{
Yeni_form = new Form2();
Yeni_form.Show();
}
}
Cevapla