Tam Sürümünü Görmek İçin : Formlar Arası Bilgi Yollamayla İlgili
Öncelikle Merhaba;
2 Adet Formum var. Açılışta 1. Form açılıyor ve butona basıldığında 2. formu acılyıor. 2. formda textbox a bilgi giriliyor. ve butona basıldıgı zaman bu bilgi açık olan 1. forma gitmeli ama bir türlü gitmiyor. Bunun tam tersini denedim. 1. formdan 2. forma bilgi göndermeyi o oluyor.. Dosya Ekte Yardımlarınızı bekliyorum..
Şu Formlar Arası bilgi gönderimini hiç adam akıllı beceremedim zaten:(
sen yeni bir form1 nesnesi oluşturup onun textboxına yazıyorsun değeri...
form1de bir timer hazırla form2 diye bir nesne yaratılmışmı yaratılmışssa üzerindeki butona basılmışmı if içine koşul olarak yaz...
ben bunları değişkenlerle kontrol ettim form2deki butona basıldıgında form2 kapanır form2deki bilgi form1e gelir kolay gele...
timerin enable özelliğini true yapmayı unutma...
dostum kusura bakma ama bir türlü beceremedim..
bool yaratildi = false;
Form2 F2;
bunlari global tanımla sayfanın basinda...form1de
form2yi açtığın butonun clickinde yaratildi=true; yapacaksın
form1 e timer ekle ve bu kodları ekle...
private void timer1_Tick(object sender, EventArgs e)
{
if (yaratildi == true && F2.basildi==true)
textBox1.Text = F2.textBox1.Text;
}
form2de
public bool basildi = false; global bir bool tanımla butona bastıgın yerde
basildi=true; yap this.close(); ile form2 yi kapa timerin koşulu sağlanmış olacak
ve F2den almak istediğini almış olacaksın bunlarla uğraş yinede olmazsa kodu yollarım kolay gele...
form1 den form2 ye gönderirken böyle birşeye ihtiyaç olmuyor ama? direk form2 nin değişkenini yaratıp değişken.textbox1.text= bilgi şeklinde gönderebiliyorum. ama bu dediğinizi yapamadım :(
senin dediğin yöntemle ulaşamayacağımızı düşünuyorum çünkü form1i tetiklemek için bişi olmalı böyle bir yol varsa biri yazarsa birlikte öğrenmiş oluruz:)
senin koda ekleme yaparak şu şekilde yaptım kolay gele...
tşkler acaba başka bir yöntemle nasıl yapabiliriz :D
kiyas dostum f2.showdialog(); kısmını f2.show(); yaptıgımda yine bilgi göndermiyor..
sebebini bende bilmiyorum this.close(); bu satırıda kaldırırsan o şekilde çalışıyor. veya basildi değişkenini kaldırırsan direk form2ye yazdığını form1'de almış oluyorsun.
Proğrama bakmadım ama şöyle yapılabilir.
Form2'nin constructor'una Form tipinde bir parametre ekle form2'yi çağırdığın yerde(yani Form1in içinde) şöyle çağır:
Form2 f2=new Form2(this);
f2.showdiyalog();
Böylece form2deyken form1 alanlarına erişebilirsin(tabi pablic olanlara).
edit:Form2'de
Form1 anaform;
diye bir field ekle constructor da ise parametereyle gelen referansı anaform değişkenine ata.
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.