• 19-03-2014, 12:19:54
    #1
    Class deneme(){

    // bunun içerisinde form1 deki textbox nasıl kullanabilirim. Modifiers public yaptım görmedi. Textbox dan yeni bir nesne mi üretmeliyim?

    }
  • 19-03-2014, 13:49:25
    #2
    nesne türetmen gerekir görebilmen için, nesne türetmeden görmek istersen de public static yapman lazım o zaman programın karışır mı onu deneyip görmelisin
  • 19-03-2014, 13:58:11
    #3
    TextBox kullaniciAdi = new TextBox();
    // Form1 de public de nesne türettim hocam.

    Class da bunu MySqlParameter kadi = new MySqlParameter("@kadi",Sorun buraya form1 deki textbox1 işlemek);

    Form1  frmgiris = new Form1 ();
    frmgiris.txtKadi.Text=kullaniciAdi .ToString()
    Şeklinde yaptığımda olmadı ikinci parametreye nasıl çekerim.
  • 19-03-2014, 14:12:20
    #4
    şöyle yapabilirsin;

    önce class'ına bir tane parametreli contructor oluştur mesela şöyle;

    class myClass
    {
    string deger;
    public myClass(string param)
    {
    MySqlParameter kadi = new MySqlParameter(param);
    }


    }

    class'ını bu şekilde tamamladıktan sonra form'da bu class ı çağırdığın yerde

    myClass a = new myClass(textbox1.text);

    dediğin zaman değeri class'ına aktarmış olursun.

    umarım doğru anlayıp düzgün cevap vermişimdir...
  • 19-03-2014, 15:10:25
    #5
    yanlış yapıyorsun.. bu işi nesne türeterek çözemezsin. çünkü form1 nesnesi zaten türetilmiş. sen tekrar form1 den bir instance türetirsen yeni bir form oluşturursun bellekte.

    yapacağın iş şu, textbox un modifier özelliğini public yap sonra ilgili class da

    string deger=  ((Form1)Application.OpenForms["Form1"]).textBox1.Text; 
    
    MySqlParameter kadi = new MySqlParameter("@kadi",deger);
    şeklinde yapabilirsin. gerçi bu kadar uğraşmaya gerek yok ama madem bu tarz bir şey yaptn bu şekilde çözebilirsin..

    not: nesneye yönelimli programlamayı öğrenmeye ağırlık ver !
  • 19-03-2014, 15:14:43
    #6
    Formu açtıktan sonra kullanmak istiyorsan aşağıdaki kodu kullanabilirsin ama ne yapmak istediğini tam olarak açıklarsan farklı bir yol bulabiliriz.

    Form1 form = Application.OpenForms["Form1"] as Form1;
    string text = form.txtKullaniciAdi.Text;
  • 19-03-2014, 15:44:11
    #7
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    yanlış yapıyorsun.. bu işi nesne türeterek çözemezsin. çünkü form1 nesnesi zaten türetilmiş. sen tekrar form1 den bir instance türetirsen yeni bir form oluşturursun bellekte.

    yapacağın iş şu, textbox un modifier özelliğini public yap sonra ilgili class da

    string deger=  ((Form1)Application.OpenForms["Form1"]).textBox1.Text; 
    
    MySqlParameter kadi = new MySqlParameter("@kadi",deger);
    şeklinde yapabilirsin. gerçi bu kadar uğraşmaya gerek yok ama madem bu tarz bir şey yaptn bu şekilde çözebilirsin..

    not: nesneye yönelimli programlamayı öğrenmeye ağırlık ver !

    Ertan hocam projesi yapıyorum düz mantık yerine oop ile yazmaya çalışıyorum.Bir classdan bütün yapacağım işlemleri kontrol ederek yapmayı planlıyorum.
  • 19-03-2014, 16:24:57
    #8
    bir class tan tüm işlemler yapılmaz. n-tier ya da n-layer architecture u araştır. katman katman katman yazman gerek eğer sırf oop yazmak istiyorsan.

    repository pattern i öğren, baya iş görür. katmanlara ayırarak program yazabilirsen hem daha kısa sürede işini bitirirsin büyük projelerde hem işler karışmaz hem de ilgili katmanı sonraki projelerinde de kolaylıkla kullanabilirsin.

    http://stackoverflow.com/a/4691315/1022138
    http://www.csharpnedir.com/forum2/fo....asp?TID=31642

    http://social.msdn.microsoft.com/For...forum=csharptr

    bu linklere göz gezdirirsen mantığı anlayabilirsin. kolay gelsin
  • 19-03-2014, 17:06:16
    #9
    MVC mantığını oturtursan çok katmanlı mimari ile uygulama geliştirmiş olursun ve proje boyutunuz ne olursa olsun asla kafa karışıklığı olmaz (kod yazmanız la da alakalı tabiki). MVC ile web uygulamaları yanı sıra windows uygulamaları da geliştirebilirsiniz.