C# Ta Formlar Arası Veri Aktarımı (Yardım)
-
beyler c# ta bir formdan diger forma nasıl verı aktarıcam. bıkac yontem denedım ama basaramadım. mesela form1 dekı textbox1 un ıcerıgını aynen form2 deki textbox1 e gecırmek ıstıorum. bunu nasıl yapıcam. yardımcı olabılır mısınız ???
-
Kod olarak yazamayacağım ama mantık olarak fikir verebilirim sana
Formu gönderdiğin yerde Form2.Show (Form2'yi göster, C# karşılığı neyse artık) yapar daha sonra ise inputlarıın değerini alırsın.
-
bak mesela form1 de su kodum war
public string donem="semih";
dıer formum olan form2 de
Form1 frm1 = new Form1();
textBox14.Text = frm1.donem;bu sekılde yazdıgım zaman program derlenıp calısıo fakat formları goremıorum :S
bu konu hakkında nası bı fıkır sunabılırsınız ???
-
beyler olayı bıraz daha çözdüm.
form1 de
public static string yeni="semih";
we form2 de
textBox14.Text = Form1.yeni;
aslında bu kadar basitmiş. boşuna kasmışım ama sorunum şöle ki. ben yeni isimli değişkeni static tanımdığım için değiştiremiorum. e statik tanımlamazsam da form2 den form1 dekı yeni değişkenini göremiorum. anlayamadığım saçma bi mantık we sorun war. burda nasıl bı mantık kurabılırm ???
-
verruckt bunu yazdı:
-----------------------------
-----------------------------static tanımlamanın diğer formlardan erişmek için gerekli olmadığını biliyorum. yanlış biliyor olabilirim tabi.
-
g2k bunu yazdı:
-----------------------------verruckt bunu yazdı:
-----------------------------
-----------------------------static tanımlamanın diğer formlardan erişmek için gerekli olmadığını biliyorum. yanlış biliyor olabilirim tabi.
-----------------------------dostum dogru dıosun ben de senın gıbı bılıorum. fakat statıc olarak tanımlayıp denedıgımde form1dekı yenı degıskenını gormuo. o yuzden sacma bı mantık war dedım bende . ama war galıba bı alakası...
-
InitializeComponent() ile form arası geçişleri kolaylaştırabilirsin.
Hatta bendeki örnek kodu sana gönderiyorum. Çoğu kişi hala bu yöntemi kullanmıyor, nedenini anlayamıyorum :)
http://depositfiles.com/files/jgis45m5r
-
static değişken tanımlamak, kod yazarken yapılacak en son şeylerden biridir.
neden derseniz ?
static veriler ram'de tutulur. Şöyle ki bir web uygulamanız var. Static olarak etiketlenmiş bir değişkenininz;
static int urunNo = 0;
1 kullanıcı geldi; bir ürüne tıkladı sizde kod tarafında,static olarak işaretlenmiş urunNo değişkenine 5 atadınız diyelim. Ardından başka bir müşteri geldi o da bi ürüne tıkladı çat, urunNo 8 oldu. şimdi 5 nolu ürüne tıklayan adam alışveriş yap diyince , sizin programınız urunNo değişkenine bakarsa, orada 5 değil 8 görücek ve 8 nolu ürünü alacak.
Windows tarafında pek bir sıkıntı oluşturacağını sanmıyorum, eğer ana server üzerinden bir kontrol yoksa
static değişken falan görünce aklıma geldi , küçük bi bilgi olsun dedim :)
-
ben genelde static kullanıyorum, ama arkadaşlarınn dediği gibi dikkatli kullanmalısıınız. karışıklık olabilir.
public Form1(string x, inty)
diye tanımlarsanız, bu şekilde de parametre yollayabilirsiniz.
Form1 myform = new Form ("test",1);
ve son olarak formu göstermek için
myform.Show();
yapmalısınız.
-
verruckt bunu yazdı:
-----------------------------
g2k bunu yazdı:
-----------------------------
verruckt bunu yazdı:
-----------------------------
-----------------------------static tanımlamanın diğer formlardan erişmek için gerekli olmadığını biliyorum. yanlış biliyor olabilirim tabi.
-----------------------------dostum dogru dıosun ben de senın gıbı bılıorum. fakat statıc olarak tanımlayıp denedıgımde form1dekı yenı degıskenını gormuo. o yuzden sacma bı mantık war dedım bende . ama war galıba bı alakası...
-----------------------------form2 de yeni bir değişken daha oluştur static olmayan. Daha sonra form1den gelen degeri form2de oluşturduğun değişkene aktar ve sonrada istediğin gibi değiştiriyo olman gerekir.
-
SharpShooter bunu yazdı:
-----------------------------
static değişken tanımlamak, kod yazarken yapılacak en son şeylerden biridir.
neden derseniz ?
static veriler ram'de tutulur. Şöyle ki bir web uygulamanız var. Static olarak etiketlenmiş bir değişkenininz;
static int urunNo = 0;
1 kullanıcı geldi; bir ürüne tıkladı sizde kod tarafında,static olarak işaretlenmiş urunNo değişkenine 5 atadınız diyelim. Ardından başka bir müşteri geldi o da bi ürüne tıkladı çat, urunNo 8 oldu. şimdi 5 nolu ürüne tıklayan adam alışveriş yap diyince , sizin programınız urunNo değişkenine bakarsa, orada 5 değil 8 görücek ve 8 nolu ürünü alacak.
Windows tarafında pek bir sıkıntı oluşturacağını sanmıyorum, eğer ana server üzerinden bir kontrol yoksa
static değişken falan görünce aklıma geldi , küçük bi bilgi olsun dedim :)
-----------------------------static yerel degiskenler, global degiskenler ve karakter katarlari exe kodun data bolum'unde tutulurlar. yerel degiskenler ise fonksiyona girilince olusturulur ve fonksiyondan cikildiginda yok edililirler. yerel degiskenlerin olusturuldugu bolge ise exe kodun stack kismidir. exe kod genelde uc kisma ayrilir. code, data, stack...
microsoftun vc++ derleyicisi bi kac bolum daha olusturur. code, bss, stack, data...
bu kisa bilgiden sonra bi kod blogu[fonksiyon] icerisinde static bir degisken yarattigimizda, aslinda global bir degisken yaratiriz ama global isim alanini kirletmeyiz. mantiksal olarak iliskisi o fonksiyondandir. siniflarin uye elemanlari olarak static degiskenler yarattigimizda da ayni sey gecerlidir. bu yuzden sinif ismiyle ( nesne olusturmadan ), sinifin uye elemanina ulasabilmek icin o elemanin static olarak tanimlanmasi gerekiyor. Bellekte hazir bi durumda olucak ki, biz ona ulasabilelim.
neden bunlari anlattim biliyomusun. cunku static degiskenler kullanilabilinir bisey :)