Zadatak:
Napraviti windows aplikaciju, sa sledećom osnovnom formom (Slika 1.1):

Slika 1.1: Izgled programa

Kreirati klasu Automobil koja ima atribut marka i metodu DajMarku(), koja vraća vrednost tog atributa. Kada korisnik klikne na dugme "Novi automobil", textBox i dugme "Unesi" postaju omogućeni za korisnika (Slika 1.2):

Slika 1.2: Izgled programa posle klika na dugme "Novi automobil"

Kada korisnik unese marku automobila u textBox i klikne na dugme "Unesi", u RichTextBox-u se prikaže prvi automobil koji je unesen. Nakon toga, textBox i dugme "Unesi" ponovo postaju onemogućeni za korisnika (Slika 1.3):

Slika 1.3: Izgled programa posle klika na dugme "Unesi"

Korisniku je omogućeno da dodaje nove automobile istim postupkom (Slika 1.4):

Slika 1.4: Izgled programa posle dodavanja nekoliko automobila u listu

Obavezno je korišćenje klase Automobil za instanciranje pojedinačnih automobila. Klikom na dugme "Obrisi listu" lista automobila se briše, kao i sadržaj RichTextBox-a.

Rešenje:
Za rešavanje ovog zadatka koristi se klasa ArrayList. Iz tog razloga neophodno je, u startu, uključiti prostor imena System.Collections. Klasa Automobil treba da sadrži samo parametarski konstruktor, kojim se dodeljuje vrednost atributu marka, i metodu DajMarku(), koja vraća vrednost tog atributa. Solution Explorer treba da ima sledeći izgled (Slika 1.5):

Slika 1.5: Solution Explorer

Kod za klasu FormAutomobili:

//Deklaracija i instanciranje globalne promenjive liste automobila
ArrayList listaAutomobila = new ArrayList();
//Konstruktor forme
public FormAutomobili()
{
    InitializeComponent();
}
private void buttonNovi_Click(object sender, EventArgs e)
{
    textBoxNovi.Clear();
    textBoxNovi.Enabled = true;
    buttonUnesi.Enabled = true;
}
private void buttonUnesi_Click(object sender, EventArgs e)
{
    //Kreiranje objekta tipa automobil i dodeljivanje marke kroz parametarski konstruktor
    Automobil a = new Automobil(textBoxNovi.Text);
    //Dodavanje kreiranog automobila u listu
    listaAutomobila.Add(a);
    //Ispis automobila pomocu njegove metode DajMarku()
    richTextBox1.AppendText(listaAutomobila.IndexOf(a)+1+". " +a.DajMarku()+" !nl!");
    //Onemogucavanje odgovarajucih kontrola
    textBoxNovi.Enabled = false;
    buttonUnesi.Enabled = false;
}
private void buttonObrisi_Click(object sender, EventArgs e)
{
    listaAutomobila.Clear();
    richTextBox1.Clear();
}

Kompletno rešenje zadatka možete da preuzmete ovde.