formdaki textboxlardaki bilğileri harici sınıfdaki diziye aktarma sorunu?

Başlatan forumsad, 01 Ekim 2012, 08:33:39

forumsad

        private void btnOyunAc_Click(object sender, EventArgs e)
        {
            for (int i = 1; i < this.pnlOyunAc.Controls.Count; i++) 
            {
                if (this.pnlOyunAc.Controls[i] is TextBox) 
                {
                    TextBox c = (TextBox)this.pnlOyunAc.Controls[i]; 
                    L1FormClasses.L1ClassOyunAc.OyAd[i] = c.Text;           
                   
                    //listBox1.Items.Add(c.Text);
                }
            }


            //L1FormClasses.L1ClassOyunAc.OyAd[1] = txtOy2.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[2] = txtOy2.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[3] = txtOy3.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[4] = txtOy4.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[5] = txtOy5.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[6] = txtOy6.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[7] = txtOy7.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[8] = txtOy8.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[9] = txtOy9.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[10] = txtOy10.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[11] = txtOy11.Text;
            //L1FormClasses.L1ClassOyunAc.OyAd[12] = txtOy12.Text;


            //bilğileri aktardık şimdi oyun formuna gidelim
            if (Application.OpenForms["L1frmOyunEkran"] == null)
            {
                frmOyunEkran.Show();
            }
            else
            {
                Application.OpenForms["L1frmOyunEkran"].Activate();  //eger yaratılmışsa one getir
            }


        }


    class L1ClassOyunAc
    {
        public static string [] OyAd= new string [20];
        public static void OyuncuAdlariniAl()
        {
        
        }
    }
}



arkadaşlar yukardaki kodda

L1FormClasses.L1ClassOyunAc.OyAd = c.Text; satırında

Index was outside the bounds of the array. hatası veriyor sorun ne olabilir acaba


saygılar

ULAGA


emosamca

forumsad, OyAd= new string [20]; tanımlaması yapmışsın. Bu demektirki pnlOyunAc.Controls içindeki textbox sayisi maksimum 20 olacak. 20 üzeri textbox var ise bu hatayı alırsın.

Hatayı düzeltmek için önce textbox sayısını bul. Değişkeni btnOyunAc_Click içerisinde new string [textboxsayisi]; olarak oluştur.