Új hozzászólás Aktív témák

  • Tomi_78

    aktív tag

    Sziasztok!

    Arraylist-et hogy kell használni arra, hogy osztályokat teszek bele és törlöm őket? Van néhány ilyen objektumom, amiket így hozok létre:
    public partial class MainForm : Form
        {    
            Bitmap deneverkepe1 = new Bitmap("kepei\\kisdenever1bmp.bmp");
            Bitmap deneverkepe2 = new Bitmap("kepei\\kisdenever2bmp.bmp");
            
            class Deneverek
            {
                public int dirx,diry,xhely,yhely;
                public Bitmap kepe;
            };
            
            Deneverek egydenever;
            System.Collections.ArrayList deneverlista = new System.Collections.ArrayList();
            public MainForm()
            {
                for (int i=0; i<3; i++) {
                    egydenever = new Deneverek();
                    
                    svsz = vsz.Next(1);
                    if (svsz==0) {
                        egydenever.dirx = -1;
                    } else {
                        egydenever.dirx = 1;
                    };
                    svsz = vsz.Next(1);
                    if (svsz==0) {
                        egydenever.diry = -1;
                    } else {
                        egydenever.diry = 1;
                    };
                    svsz = vsz.Next(1);
                    if (svsz==0) {
                        egydenever.kepe = deneverkepe1;
                    } else {
                        egydenever.kepe = deneverkepe2;
                    };
                    egydenever.xhely=vsz.Next(1,Width-egydenever.kepe.Width);
                    egydenever.yhely=vsz.Next(1,Height-egydenever.kepe.Height);
                    
                    deneverlista.Add(egydenever);
                };
    Eddig rendben is van (remélhetőleg), de ha pl. már ki akarom rajzolni őket így:
    void MainFormPaint(object sender, PaintEventArgs e)
            {
                for (int i=0; i<3; i++) {
                        var denever = deneverlista[i];
                        e.Graphics.DrawImage(denever.kepe,denever.xhely,denever.yhely,denever.kepe.Width,denever.kepe.Height);
                };
            }
    akkor hibaüzenetet kapok, hogy "„object” nem tartalmazza a(z) „dirx” metódus definícióját, és nem található olyan „dirx” kiterjesztésmetódus, amely „object” típusú első argumentumot fogad el (esetleg hiányzik egy „using” direktíva vagy egy szerelvényre mutató hivatkozás). (CS1061)"
    és ugyanez a többi változójára is.
    Azt szeretném, hogy legyenek ilyen képi objektumok a programomban, amikből később el is távolíthatok. Eredetileg sima tömbbel próbálkoztam, de azok tartalmát nem lehet megváltoztatni.

Új hozzászólás Aktív témák