Sie sind auf Seite 1von 62

1.

 Napravite GUI aplikaciju koja u svojoj glavnom formi sadrži jednu tipku. Pritiskom na tipku 
prikazuje se nova instanca iste glavne forme. Pritiskom na tipku novo prikazane forme opet se 
prikazuje nova instanca glavne forme, itd. U natpisu tipke (Text) neka piše broj instanci glavnih formi 
koje su prikazane. (ovu vrijednost je potrebno ažurirati svaki puta kada korisnik klikne na tipku u bilo 
kojoj od instanci glavne forme). 
 
namespace WindowsFormsApplication340 

    class NovaForma 
    { 
        public NovaForma() { } 
        public void izracun() { 
            Form1 nova = new Form1(); 
            nova.Show(); 
            Form1.brojForme = Application.OpenForms.Count; 
            foreach (Form1 form in Application.OpenForms) 
            { 
                form.button1.Text = Form1.brojForme.ToString(); 
            } 
             
        } 
    } 

namespace WindowsFormsApplication340 

    public partial class Form1 : Form 
    { 
        public static int brojForme = 1; 
        public Form1() 
        { 
            InitializeComponent(); 
            this.button1.Text = Form1.brojForme.ToString(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            NovaForma nF = new NovaForma(); 
            nF.izracun(); 
        } 
    } 

 
2. Napravite GUI aplikaciju koja služi kao brojač klikova (sadrži tipku, textbox i label), klikom na tipku 
broji se broj klikova, nakon X klikova se vrijednost resetira. X vrijednost korisnik unosi preko textboxa. 
Broj klikova se zapisuje u label. 
 
namespace WindowsFormsApplication342 

    class ResetBroja 
    { 
         
        int brojac = 0; 
        int vrijednost; 
        public ResetBroja(int jedan, int dva) { 
            this.brojac = jedan; 
            this.vrijednost = dva; 
        } 
 
        public int racun() { 
            if (brojac > vrijednost) brojac = 0; 
            return brojac; 
        } 
 
    } 

 
namespace WindowsFormsApplication342 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
 
        } 
        int brojac = 0; 
        private void button1_Click(object sender, EventArgs e) 
        { 
            ++brojac; 
            int vrijednost = int.Parse(textBox1.Text); 
            ResetBroja reset = new ResetBroja(brojac,vrijednost); 
            label1.Text = reset.racun().ToString(); 
        } 
    } 

 
3. Napravite GUI aplikaciju koja se sastoji od forme i tipke, kada pređe mišem preko tipke (odnosno 
na onMouseOver događaj) potrebno je premjesti tipku na neku drugu lokaciju (slučajnu) na formi. 
 
namespace WindowsFormsApplication343 

    class PomicanjeGumba 
    { 
        public PomicanjeGumba() { } 
 
        public void nasumicnoPomicaje(Form1 forma) { 
            Random r = new Random(); 
            int a = r.Next(0,250); 
            int b = r.Next(0, 250); 
            forma.button1.Location = new Point(a,b); 
        } 
    } 

 
namespace WindowsFormsApplication343 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_MouseHover(object sender, EventArgs e) 
        { 
            PomicanjeGumba pG = new PomicanjeGumba(); 
            pG.nasumicnoPomicaje(this); 
        } 
    } 

4. Napravite GUI aplikaciju koja sadrži izbornik, s opcijama open i exit. Na exit se zatvara aplikacija, a 
na open se otvara nova instanca prozora glavne forme kao MDI dijete postojeće glavne forme. 
 
namespace MdiParent 

    public class Open 
    { 
        public Form1 newWindow { get; set; } 
        public Open CreateNewWindow() 
        { 
            this.newWindow = new Form1(); 
 
            return this; 
        } 
 
        public Open OpenWindow() 
        { 
            this.newWindow.Show(); 
 
            return this; 
        } 
 
    } 
 
namespace MdiParent 

    public static class ExitClass 
    { 
        public static void CloseApplication() 
        { 
            Application.Exit(); 
        } 
    } 

 
namespace MdiParent 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void CloseClick(object sender, EventArgs e) 
        { 
            ExitClass.CloseApplication(); 
        } 
 
        private void OpenClick(object sender, EventArgs e) 
        { 
            Open window = new Open(); 
 
            window.CreateNewWindow(); 
 
            window.newWindow.MdiParent = this.MdiParent; 
 
            window.OpenWindow(); 
             
        } 
    } 

 
5. Napravite GUI aplikaciju koja čim ju korisnik pokrene, otvara prozor s pozdravnom porukom i 
slikom, koju kad korisnik klikne zatvara aplikaciju. 

namespace WindowsFormsApplication345 

    class exit 
    { 
        public exit() { } 
 
        public void pozdravi() { 
            MessageBox.Show("Pozdravna Poruka!"); 
        } 
 
        public void zatvori() { 
            Application.Exit(); 
        } 
    } 

 

namespace WindowsFormsApplication345 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            exit z = new exit(); 
            z.pozdravi(); 
        } 
 
        private void pictureBox1_Click(object sender, EventArgs e) 
        { 
            exit zatvori = new exit(); 
            zatvori.zatvori(); 
        } 
    } 

 

8. Napravite GUI aplikaciju koja ima 3 texboxa. U prvom textboxu korisnik unosi tekst A. U drugi 
textbox korisnik unosi tekst B. U treći textbox unosi bilo koji tekst, prilikom unosa teksta u treći 
textbox svaka pojava teksta A se mora zamijeniti tekstom B. (npr. korisniku treći textbox piše tekst i 
svaki puta kada napiše ZG automatski će mu se umjesto ZG napisati Zagreb). 

namespace WindowsFormsApplication346 

    class Zamjena 
    { 
        string a, b, c; 
 
        public Zamjena(string jedan, string dva, string tri){ 
            this.a = jedan; 
            this.b = dva; 
            this.c = tri; 
             
        } 
 
        public string zamjenaPozicija() { 
            c = c.Replace(a, b); 
            return c; 
        } 
    } 

 

namespace WindowsFormsApplication346 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
         
        private void textBox3_TextChanged(object sender, EventArgs e) 
        { 
            string a = textBox1.Text; 
            string b = textBox2.Text; 
            string c = textBox3.Text; 
             
 
            Zamjena z = new Zamjena(a, b, c); 
            textBox3.Text = z.zamjenaPozicija(); 
 
        } 
    } 

 

9. Napravite GUI aplikaciju koja učitava web stranicu (Pomoć: webbrowser kontrola) temeljem URLa 
kojeg korisnik zadaje upisom u textbox, stranica se učitava pritiskom na tipku u formi. Kada je 
stranica uspješno učitana promijeniti boju pozadine forme u zeleno. 

namespace WindowsFormsApplication347 

    class Ucitavanje 
    { 
        string a; 
        public Ucitavanje(string adresa) { 
            this.a = adresa; 
        } 
 
        public string ucitavanjeStranice(WebBrowser veb) 
        { 
            String link = a; 
            veb.Navigate(link); 
            return link; 
        } 
    } 

 

namespace WindowsFormsApplication347 

    class Boja 
    { 
        public Boja() { } 
        public void uspjesnoUcitano(Form1 forma) 
        { 
            forma.BackColor = Color.Green; 
        } 
    } 

 

namespace WindowsFormsApplication347 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            string a = textBox1.Text; 
            Ucitavanje ucitaj = new Ucitavanje(a); 
            ucitaj.ucitavanjeStranice(webBrowser1); 
             
        } 
 
        private void webBrowser1_DocumentCompleted(object sender, 
WebBrowserDocumentCompletedEventArgs e) 
        { 
            Boja boja = new Boja(); 
            boja.uspjesnoUcitano(this); 
        } 
    } 

10. Napraviti GUI aplikaciju koja ima samo jedan label u kojem se u realnom vremenu ispisuju 
koordinate miša kada se kreće po površini glavne forme. Oblik zapisa neka bude "x=vrijednostX, 
y=vrijednostY" gdje su vrijednostX i vrijednostY stvarne koordinate miša. 

namespace WindowsFormsApplication348 

    class Lokacija 
    { 
        int a, b; 
        public Lokacija() { } 
 
        public void lokacijaMisa(Form1 forma, MouseEventArgs e) { 
            a = e.X; 
            b = e.Y; 
            forma.label1.Text = (a + ", " + b).ToString(); 
        } 
    } 

 

namespace WindowsFormsApplication348 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void Form1_MouseMove(object sender, MouseEventArgs e) 
        { 
            Lokacija l = new Lokacija(); 
            l.lokacijaMisa(this, e); 
        } 
    } 

11. Napravite GUI aplikaciju koja ima 2 textboxa za unos lozinke (sadržaj neka vizualno bude 
zamijenjen znakom @), Korisnik mora unesti dva puta lozinku, pritiskom na tipku aplikacija moram 
provjeriti ispravnost lozinke. Lozinke moraju biti jednake u dva textboxa, moraju biti duže od 5 
znakova, moraju sadržavati minimalno 3 velika slova, i minimalno jedan znak za svaki element iz 
skupa: #, $, % 

namespace WindowsFormsApplication349 

    class Lozinka 
    { 
        string a, b; 
        public Lozinka(string prvi, string drugi) { 
            this.a = prvi; 
            this.b = drugi; 
        } 
 
        public void provjeriLozinke() { 
            if (a.CompareTo(b) != 0) 
            { 
                MessageBox.Show("Lozinke nisu jednake!"); 
            } 
            int brojac = 0; 
            for (int i = 0; i < a.Length; i++) 
            { 
                if (char.IsLetter(a[i]) && char.IsUpper(a[i])) 
                { 
                    ++brojac; 
                } 
            } 
            if (brojac < 3) 
            { 
                MessageBox.Show("Nema dovljno velikih slova!"); 
            } 
            if (!a.Contains('#') || !a.Contains('$') || !a.Contains('%')) 
            { 
                MessageBox.Show("Niste koristili znakove iz liste!"); 
            } 
            if (a == b) 
            { 
                MessageBox.Show("Lozinke su jednake!"); 
            } 
        } 
    } 

 

namespace WindowsFormsApplication349 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            string a = textBox1.Text; 
            string b = textBox2.Text; 
            Lozinka l = new Lozinka(a,b); 
            l.provjeriLozinke(); 
 
        } 
    } 

 

12. Napravite konzolnu aplikaciju koja ispisuje sadržaj upisanog direktorija. Korisnik prilikom 
pokretanja aplikacije mora upisati putanju nekog direktorija. Ako je unos neispravan treba ispisati 
poruku da je direktorij neispravan inače treba ispisati nazive svih datoteka u direktoriju 

namespace WindowsFormsApplication350 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            string direkrotij = textBox1.Text; 
            if (Directory.Exists(direkrotij) == false) 
            { 
                MessageBox.Show("Direktorij ne postoji!"); 
            } 
            else 
            { 
                string[] datoteke = Directory.GetFiles(direkrotij); 
 
                foreach (string data in datoteke) 
                { 
                    textBox2.Text += data.ToString(); 
                } 
            } 
        } 
    } 

13. Napravite GUI aplikaciju koja ima textbox i tipku. U textbox korisnik unosi proizvoljan broj 
elemenata(brojeva) odvojenih zarezom. npr. 2,6,1,2,5 Pritiskom na tipku u isti textbox aplikacija 
mora ispisati iste brojeve ali sortirano uzlazno i odvojeno zarezom. 

namespace WindowsFormsApplication351 

    class Brojevi 
    { 
 
         
        public Brojevi() { } 
 
        public void sortiranjeBrojeva(Form1 forma) 
        { 
            string[] brojevi = forma.textBox1.Text.Split(','); 
            ArrayList lista = new ArrayList(); 
            forma.textBox1.Clear(); 
            foreach (string broj in brojevi) 
            { 
                lista.Add(int.Parse(broj)); 
            } 
            lista.Sort(null); 
            foreach (int broj in lista) 
            { 
                forma.textBox1.Text += broj.ToString() + ","; 
            } 
        } 
    } 

 
namespace WindowsFormsApplication351 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            //string[] brojevi = textBox1.Text.Split(','); 
            Brojevi b = new Brojevi(); 
            b.sortiranjeBrojeva(this); 
 
        } 
    } 

 

14. Napravite GUI aplikaciju koja ima jedan label u kojem je ispisan broj sekundi do početka utakmice 
(20:45). Aplikacija u realnom vremenu (svake sekunde) osvježava stanje labela (broja sekundi do 
početka). 

namespace WindowsFormsApplication352 

    class Odbrojavanje 
    { 
        public Odbrojavanje() { } 
 
        public void sekundeDoUtakmice(Form1 forma) { 
            long a = 20 * 60 * 60 + 45 * 60; 
            long b = DateTime.Now.Hour * 60 * 60 + DateTime.Now.Minute * 60 + 
DateTime.Now.Second; 
            forma.label1.Text = (a ‐ b).ToString(); 
        } 
    } 

 

namespace WindowsFormsApplication352 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            timer1.Start(); 
        } 
 
        private void timer1_Tick(object sender, EventArgs e) 
        { 
            Odbrojavanje broji = new Odbrojavanje(); 
            broji.sekundeDoUtakmice(this); 
        } 
    } 

 

15. Napravite GUI aplikaciju koja ima jedan textbox i jednu tipku, korisnik u textbox unosi godinu. 
pritiskom na tipku aplikacija za zadanu godinu treba u isti textbox ispisati koliko petaka 13 se nalazi u 
zadanoj godini. 

namespace WindowsFormsApplication353 

    class Godina 
    { 
        public Godina() { } 
        public void racunanjePetka(Form1 forma) { 
            int brojac = 0; 
            DateTime a = new DateTime(int.Parse(forma.textBox1.Text), 1, 1); 
            int b = int.Parse(forma.textBox1.Text) + 1; 
            while (a.Year != b) 
            { 
                a = a.AddDays(1); 
                if (a.Day == 13 & a.DayOfWeek == DayOfWeek.Friday) 
                { 
                    brojac++; 
                } 
            } 
            forma.textBox1.Text = brojac.ToString(); 
        } 
    } 

 

namespace WindowsFormsApplication353 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Godina godina = new Godina(); 
            godina.racunanjePetka(this); 
        } 
    } 

16. Napravite GUI aplikaciju koja prilikom pokretanja pokazuje (u label kontroli) koliko dana treba 
proći do sljedećeg petka. 

namespace WindowsFormsApplication354 

    class Brojac 
    { 
        public Brojac() { } 
 
        public void brojanjePetka(Form1 forma) { 
            DayOfWeek petak = new DayOfWeek(); 
            DateTime sad = DateTime.Now; 
            int brojac = 0; 
            petak = sad.DayOfWeek; 
            while (petak != DayOfWeek.Friday) 
            { 
                sad = sad.AddDays(1); 
                petak = sad.DayOfWeek; 
                brojac++; 
            } 
            forma.label1.Text = brojac.ToString(); 
        } 
    } 

 

namespace WindowsFormsApplication354 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            Brojac b = new Brojac(); 
            b.brojanjePetka(this); 
        } 
    } 

17. Kreirati klasu Artikl s atributima (int idArtikla, string nazivArtikla, float jedinicnaCijena). Kreirati 
klasu StavkaRacuna s atributima (int idStavke, Artikl , float količina). Kreirati klasu Račun koja ima 
atribute (int brojRacuna, datetime datumKreiranja, string prodavač, string nacinPlacanja, 
List<StavkaRacuna> stavke). U klasi StavkaRacuna napišite metodu koja će računati ukupan iznos 
stavke. U klasi Račun napišite metodu koja će računati ukupan iznos računa. 

namespace Zadatak17  
{  
class Program  
{  
static void Main(string[] args)  
{  
}  
}  
}  
namespace Zadatak17  
{  
class Artikli  
{  
int idArtikli;  
string nazivArtikla;  
public float jedinicnaCijena;  
}  
}  
namespace Zadatak17  
{  
class Stavkaracuna  
{  
int idStavke;  
Artikli Artikl;  
float kolicina;  
public float IznosStavke()  
{  
return Artikl.jedinicnaCijena * kolicina;  
}  
}  
}  
namespace Zadatak17  
{  
class Racun  
{  
int brojRacuna;  
DateTime datumKreiranja;  
string prodavac;  
string nacinPlacanja;  
List<Stavkaracuna> stavke;  
public double IznosRacuna()  
{  
double suma = 0;  
foreach (Stavkaracuna stavka in stavke)  
{  
suma += stavka.IznosStavke();  
}  
return suma;  
}  
}  

18. Kreirajte klasu Mjesec (kalendarski mjesec) koja ima atribute (int redniBroj, string nazivMjeseca, 
int brojDana). Kreirajte klasu Semestar koja ima atribute (Mjesec pocetakSemestra, Mjesec 
zavrsetakSemestra) i ima metodu koja vraća listu mjeseca koji pripadaju tom semestru. 

namespace Zadatak18  
{  
class Program  
{  
static void Main(string[] args)  
{  
}  
}  
}  
namespace Zadatak18  
{  
class Mjesec  
{  
public int redniBroj;  
string nazivMjeseca;  
int BrojDana;  
}  
}  
namespace Zadatak18  
{  
class semestar  
{  
Mjesec pocetakSemestra;  
Mjesec zavrsetakSemestra;  
List<Mjesec> izmedju;  
public List<Mjesec> Izracunaj()  
{  
for (Mjesec i = pocetakSemestra; i.redniBroj < 
zavrsetakSemestra.redniBroj; i.redniBroj++)  
{  
izmedju.Add(i);  
}  
return izmedju;  
}  
}  

19. Napravite GUI aplikaciju u kojoj korisnik unosi dva broja (2 textboxa) i pritiskom na tipku korisniku 
se u rezultatu ispisuje rezultat dijeljena ta dva broja. Napravite provjeru jesu li su uneseni brojevi a ne 
slova te provjeru je li drugi broj različit od nule. 

namespace WindowsFormsApplication355 

    class Izracun 
    { 
        public Izracun() { } 
        public void racunanje(Form1 forma) { 
            string a = forma.textBox1.Text; 
            string b = forma.textBox2.Text; 
            int n = 0; 
            int m = 0; 
            try  
          { 
                n = int.Parse(a); 
                m = int.Parse(b); 
          } 
          catch (Exception) 
          { 
         MessageBox.Show("Format nije dobar");    
          } 
            if (m == 0) 
            { 
                MessageBox.Show("Nula"); 
            } 
            int rezultat = n / m; 
            MessageBox.Show(rezultat.ToString()); 
         
        } 
    } 

namespace WindowsFormsApplication355 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Izracun i = new Izracun(); 
            i.racunanje(this); 
        } 
    } 

namespace WindowsFormsApplication355 

    class Izracun 
    { 
        int n, m; 
        int rezultat; 
        public Izracun(int jedan, int dva) { 
            this.n = jedan; 
            this.m = dva; 
        } 
        public int racunanje() { 
            rezultat = n / m; 
            return rezultat; 
        } 
    } 

namespace WindowsFormsApplication355 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            string a = textBox1.Text; 
            string b = textBox2.Text; 
            int n = 0; 
            int m = 0; 
            try 
            { 
                n = int.Parse(a); 
                m = int.Parse(b); 
            } 
            catch (Exception) 
            { 
 
                MessageBox.Show("Format nije dobar!"); 
            } 
            if (m==0) 
            { 
                MessageBox.Show("Nula"); 
            } 
            Izracun i = new Izracun(n, m); 
            MessageBox.Show(i.racunanje().ToString()); 
        } 
    } 

20. Napravite GUI aplikaciju koja za zadani datum (koristeći DateTimePicker) u Label ispisuje u kojem 
godišnjem dobu je zadani datum. Određivanje godišnjeg doba treba napraviti svaki puta prilikom 
odabira datuma iz DTP. 
namespace WindowsFormsApplication356 

    class GodisnjaDoba 
    { 
        public GodisnjaDoba() { } 
        public void izracunGodisnjegDoba(Form1 forma) { 
            DateTime d = forma.dateTimePicker1.Value; 
            if (d.Month<=3) 
            { 
                if (d.Day >= 22 && d.Month == 3) 
                { 
                    forma.label1.Text = "Proljeće"; 
                } 
                else forma.label1.Text = "Zima"; 
            } 
            if (d.Month<=6) 
            { 
                if (d.Day >= 22 && d.Month == 6) 
                { 
                    forma.label1.Text = "Ljeto"; 
                } 
                else forma.label1.Text = "Proljeće"; 
            } 
            if (d.Month <= 9) 
            { 
                if (d.Day >= 22 && d.Month == 9) 
                { 
                    forma.label1.Text = "Jesen"; 
                } 
                else forma.label1.Text = "Ljeto"; 
            } 
            else forma.label1.Text = "Jesen"; 
        } 
    } 

namespace WindowsFormsApplication356 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void dateTimePicker1_ValueChanged(object sender, EventArgs e) 
        { 
            GodisnjaDoba gD = new GodisnjaDoba(); 
            gD.izracunGodisnjegDoba(this); 
        } 
    } 

21. Napravite GUI aplikaciju koja ima jedan textbox, korisnik unosi proizvoljan tekst u textbox, 
prilikom unosa svaka pojava slova "a" se zamjenjuje slovom "b" 

namespace WindowsFormsApplication357 

    class Zamjena 
    { 
        public Zamjena() { } 
 
        public void zamjenaSlova(Form1 forma) { 
            forma.textBox1.Text = forma.textBox1.Text.Replace('a', 'b'); 
            forma.textBox1.Text = forma.textBox1.Text.Replace('b', 'b'); 
            forma.textBox1.Select(forma.textBox1.Text.Length, 0); 
        } 
    } 

namespace WindowsFormsApplication357 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void textBox1_TextChanged(object sender, EventArgs e) 
        { 
            Zamjena z = new Zamjena(); 
            z.zamjenaSlova(this); 
        } 
    } 

namespace WindowsFormsApplication357 

    class Zamjena 
    { 
        string a; 
        public Zamjena(string slovo) { 
            this.a = slovo; 
        } 
 
         
 
        public string zamjenaSlova() { 
            a = a.Replace('a', 'b'); 
            a = a.Replace('b', 'b'); 
            return a; 
        } 
    } 

namespace WindowsFormsApplication357 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void textBox1_TextChanged(object sender, EventArgs e) 
        { 
            string a = textBox1.Text; 
 
            Zamjena z = new Zamjena(a); 
            textBox1.Text = z.zamjenaSlova(); 
            textBox1.Select(textBox1.Text.Length, 0); 
        } 
    } 

22. Napravite GUI aplikaciju koja služi kako preglednik slika. Forma sadrži jedan pictureBox objekt u 
kojem se učitava slika te jednu tipku, Tipka otvara dijalog za odabir datoteka (OpenFileDialog objekt) 
nakon što je datoteka odabrana (FileOK event) treba ju prikazati u pictureBox kontroli (Load metoda). 

namespace WindowsFormsApplication358 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Slika s = new Slika(); 
            s.otvaranjeDialoga(this); 
            openFileDialog1.FileOk += openFileDialog1_FileOk; 
        } 
 
        void openFileDialog1_FileOk(object sender, CancelEventArgs e) 
        { 
            Slika s = new Slika(); 
            s.ucitavanjeSlike(this); 
        } 
    } 

namespace WindowsFormsApplication358 

    class Slika 
    { 
        public Slika() { } 
 
        public void otvaranjeDialoga(Form1 forma) { 
            forma.openFileDialog1.ShowDialog(); 
        } 
 
        public void ucitavanjeSlike(Form1 forma) { 
            forma.pictureBox1.Load(forma.openFileDialog1.FileName); 
        } 
 
 
    } 

23. Napravite GUI aplikaciju koja u sebi sadrži jednu tipku. Pozadina forme neka bude zelena. Tekst te 
tipke jednak je broj klikova na tipku. Ako je broj klikova djeljiv s 10 tada pozadina forme treba biti 
crvena, inače pozadina neka bude zelena. 

namespace WindowsFormsApplication367 

    class Count 
    { 
        public int brojac { get; private set; } 
        public Color trenutnaBoja { get; private set; } 
        public Count() 
        { 
            this.brojac = 0; 
            this.trenutnaBoja = Color.Green; 
        } 
 
        public Count racunaj() 
        { 
            this.brojac += 1; 
 
            if (this.brojac % 10 == 0) 
                this.trenutnaBoja = Color.Red; 
            else 
                this.trenutnaBoja = Color.Green; 
 
            return this; 
        } 
    } 

 

namespace WindowsFormsApplication367 

    public partial class Form1 : Form 
    { 
        private Count broj { get; set; } 
 
        public Form1() 
        { 
            InitializeComponent(); 
 
            this.broj = new Count(); 
 
            this.BackColor = broj.trenutnaBoja; 
 
            this.button1.Click += ClickHandler; 
        } 
 
        private void ClickHandler(object sender, EventArgs e) 
        { 
            this.broj.racunaj(); 
 
            this.button1.Text = this.broj.brojac.ToString(); 
 
            this.BackColor = this.broj.trenutnaBoja; 
        } 
    } 

 

24. Napravite GUI aplikaciju koja ima tri textboxa i jednu tipku. Korisnik u prva dva textboxa unosi dva 
skupa brojeva odvojenih zarezom. Pritiskom na tipku u treći textbox se trebaju ispisati samo 
zajednički elementi dva skupa (iz dva textboxa) odvojeni zarezom. 

namespace WindowsFormsApplication361 

    class Skup 
    { 
        public Skup() { } 
 
        public void skupBrojeva(Form1 forma) {  
            string[] a = forma.textBox1.Text.Split(','); 
            string[] b = forma.textBox2.Text.Split(','); 
 
            foreach (string broj in a) 
            { 
                if (b.Contains(broj)) 
                { 
                    forma.textBox3.Text += broj + (','); 
                } 
            } 
 
        } 
    } 

 

namespace WindowsFormsApplication361 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Skup zajednickiElementi = new Skup(); 
            zajednickiElementi.skupBrojeva(this); 
        } 
    } 

25. Napravite GUI aplikaciju koja ima 3 textboxa (R,G i B) i jednu tipku. Korisnik u svaki textbox unosi 
jedan broj od 0‐255 (napravite provjeru unosa). Pritiskom na tipku potrebno je promijeniti pozadinu 
forme u boju temeljem vrijednosti iz textboxa (R,G,B). Pomoć:Color.FromArgb(R,G,B); 

namespace WindowsFormsApplication362 

    class Boja 
    { 
        int r, g, b; 
        public Boja(int jedna, int dva, int tri) { 
            this.r = jedna; 
            this.g = dva; 
            this.b = tri; 
        } 
 
        public void izracunBoje(Form1 forma) { 
            if (r<=255 && g<=255 && b<=255) 
            { 
                forma.BackColor = Color.FromArgb(r, g, b); 
            } 
        } 
    } 

 

namespace WindowsFormsApplication362 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            int r = int.Parse(textBox1.Text); 
            int g = int.Parse(textBox2.Text); 
            int b = int.Parse(textBox3.Text); 
 
            Boja boja = new Boja(r,g,b); 
            boja.izracunBoje(this); 
 
        } 
    } 

 

26. Napravite GUI aplikaciju koja sadrži jednu tipku i textbox. Korisnik u textbox unosi broj. Nakon 
pritiska na tipku aplikacija se mora ugasiti za uneseni broj sekundi. Broj preostalih sekundi do gašenja 
aplikacije treba ispisivati u sadržaju tipke. (u realnom vremenu, svake sekunde). 

 
namespace WindowsFormsApplication408 

    class brojac 
    { 
        double sekunde; 
        public brojac(double s) { 
            this.sekunde = s; 
        } 
        public double brojSekunda(Form1 forma) { 
            double brojS = double.Parse(forma.textBox1.Text); 
            double broji = brojS + sekunde; 
            return broji; 
        } 
    } 

 

namespace WindowsFormsApplication408 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            timer1.Start(); 
        } 
        double sekunde = 0; 
        private void timer1_Tick(object sender, EventArgs e) 
        { 
            sekunde ‐= 1; 
            brojac b = new brojac(sekunde); 
            this.button1.Text = b.brojSekunda(this).ToString(); 
            if (b.brojSekunda(this) == 0) 
            { 
                this.Close(); 
            } 
        } 
    } 

27. Napravite GUI aplikaciju koja sadrži labelu i tipku. Klikom na tipku, labela broji broj klikova, 
odnosno ispisuje koliko puta je korisnik kliknuo. Ako je broj klikova paran tada je tekst crveni, inače je 
crni. Kada je broj klikova veći od 10, veličina prozora forme se maximizira. (Pomoć: Modulo, 
FormWindowState) 

namespace WindowsFormsApplication368 

 
    class Count 
    { 
        public int brojac { get; private set; } 
        
        public Count() 
        { 
            this.brojac = 0; 
        } 
 
        public Count racunaj(Form1 forma) 
        { 
            this.brojac += 1; 
            if (this.brojac % 2 == 0) 
                forma.label1.ForeColor = Color.Red; 
            else 
                forma.label1.ForeColor = Color.Black; 
            if (this.brojac > 10) 
            { 
                forma.WindowState = FormWindowState.Maximized; 
            } 
            return this; 
        } 
    } 

namespace WindowsFormsApplication368 

    public partial class Form1 : Form 
    { 
        private Count broj { get; set; } 
        public Form1() 
        { 
            InitializeComponent(); 
 
            this.broj = new Count(); 
            this.button1.Click += ClickHandler; 
        } 
 
        private void ClickHandler(object sender, EventArgs e) 
        { 
            this.broj.racunaj(this); 
            this.label1.Text = this.broj.brojac.ToString(); 
 
        } 
    } 

 

28. Napravi novu GUI aplikaciju koja sadrži jednu tipku, veličina forme je 500x500. Kada korisnik dođe 
mišem iznad tipke, lokacija (svojstvo) se postavlja na slučajne vrijednosti X i Y. (Pomoć: Random r = 
new Random(); 

namespace WindowsFormsApplication364 

    class Lokacija 
    { 
        public Lokacija() { } 
        public void novaLokacija(Form1 forma) { 
            Random r = new Random(); 
            int x = r.Next(0, forma.Width); 
            int y = r.Next(0, forma.Height); 
            forma.button1.Location = new Point(x, y); 
        } 
    } 

namespace WindowsFormsApplication364 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_MouseHover(object sender, EventArgs e) 
        { 
            Lokacija l = new Lokacija(); 
            l.novaLokacija(this); 
        } 
    } 

29. Napravite GUI aplikaciju koja slučajnim odabirom izbacuje loto brojeve za 7/39 slučajnim 
odabirom. Brojeve treba prikazati u 7 label kontrola. Brojevi se odabiru pritiskom na tipku. Ako je 
broj između manji od 20 boja teksta neka bude zelena inače neka bude crvena. Napomena: brojevi se 
ne smiju ponavljati, npr. ne mogu biti dva ista odabrana broja. Pomoć (Random klasa). 

namespace WindowsFormsApplication365 

    class Loto 
    { 
        public Loto() { } 
        public void biranjeBrojeva(Form1 forma) { 
            Random r = new Random(); 
            int noviBroj; 
            int[] polje = new int[7]; 
            for (int i = 0; i < 7; i++) 
            { 
                noviBroj = r.Next(1, 39); 
                if (polje.Contains(noviBroj)) 
                { 
                    i‐‐; 
                } 
                else polje[i] = noviBroj; 
            } 
            forma.label1.Text = polje[0].ToString(); 
            forma.label2.Text = polje[1].ToString(); 
            forma.label3.Text = polje[2].ToString(); 
            forma.label4.Text = polje[3].ToString(); 
            forma.label5.Text = polje[4].ToString(); 
            forma.label6.Text = polje[5].ToString(); 
            forma.label7.Text = polje[6].ToString(); 
            foreach (Control label in forma.Controls) 
            { 
                if (label.GetType()==typeof(Label)) 
                { 
                    if (int.Parse(label.Text) < 20) 
                    { 
                        label.ForeColor = Color.Green; 
                    } 
                    else label.ForeColor = Color.Red; 
                } 
            } 
        } 
    } 

namespace WindowsFormsApplication365 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Loto l = new Loto(); 
            l.biranjeBrojeva(this); 
 
        } 
    } 

30. Napravite GUI aplikaciju koja ima jedan ComboBox i jedan MonthCalendar objekt. ComboBox 
objekt je potrebno napuniti brojevima od 1 do 12 (programski). Odabirom nekog broja iz ComboBoxa 
potrebno je promijeniti trenutno prikazani mjesec u MonthCalendar objektu temeljem odabira iz 
ComboBoxa. 

namespace WindowsFormsApplication369 

    class Mjeseci 
    { 
        public Mjeseci() { } 
 
        public void pregledMjeseca(Form1 forma) { 
            int lista = (int)forma.comboBox1.SelectedItem; 
            forma.monthCalendar1.SetDate(new DateTime(DateTime.Now.Year, lista, 
DateTime.Now.Day)); 
        } 
    } 

 

namespace WindowsFormsApplication369 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            for (int i = 1; i <=12; i++) 
            { 
                this.comboBox1.Items.Add(i); 
            } 
        } 
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            Mjeseci m = new Mjeseci(); 
            m.pregledMjeseca(this); 
        } 
    } 

31. Napravite aplikaciju kojoj se svaku sekundu promjeni pozicija. 

namespace WindowsFormsApplication370 

    class Pozicija 
    { 
        public Pozicija() { } 
        public void novaPozicija(Form1 forma) { 
            Random r = new Random(); 
            int x = r.Next(0, 1000); 
            int y = r.Next(0, 1000); 
            forma.Location = new Point(x, y); 
        } 
    } 

 

namespace WindowsFormsApplication370 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void Form1_Load(object sender, EventArgs e) 
        { 
            timer1.Start(); 
        } 
 
        private void timer1_Tick(object sender, EventArgs e) 
        { 
            Pozicija p = new Pozicija(); 
            p.novaPozicija(this); 
        } 
    } 

 

32. Napravite GUI aplikaciju koja ima 3 TrackBar kontrole. Prilikom svakog pomicanja track bara treba 
promijeniti boju pozadine forme sukladno vrijednostima svakih od trackbar kontrola. Napomena: 
format zapisa boje je R,G,B vrijednost od 0 do 255. Color.FromArgb(...) 

namespace WindowsFormsApplication371 

    class Boja 
    { 
        public Boja() { } 
 
        public void nadiBoju(Form1 forma) { 
            forma.BackColor = Color.FromArgb(forma.trackBar1.Value, 
forma.trackBar2.Value, forma.trackBar3.Value); 
        } 
    } 

namespace WindowsFormsApplication371 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            trackBar1.Minimum = 0; 
            trackBar1.Maximum = 255; 
            trackBar2.Minimum = 0; 
            trackBar2.Maximum = 255; 
            trackBar3.Minimum = 0; 
            trackBar3.Maximum = 255; 
        } 
 
        private void trackBar1_Scroll(object sender, EventArgs e) 
        { 
            Boja b = new Boja(); 
            b.nadiBoju(this); 
        } 
 
        private void trackBar2_Scroll(object sender, EventArgs e) 
        { 
            Boja b = new Boja(); 
            b.nadiBoju(this); 
        } 
 
        private void trackBar3_Scroll(object sender, EventArgs e) 
        { 
            Boja b = new Boja(); 
            b.nadiBoju(this); 
        } 
    } 

33. Napravite GUI aplikaciju koja ima tri textboxa (A,B,C) i jednu tipku. Pritiskom na tipku se korisniku 
računa suma brojeva od A do B. Prilikom računanja sume treba preskočiti brojeve djeljive s C. 
Rezultat treba ispisati umjesto teksta tipke. 

namespace WindowsFormsApplication372 

    class Brojevi 
    { 
        int a, b, c; 
        int suma = 0; 
        public Brojevi(int jedan, int dva, int tri) { 
            this.a = jedan; 
            this.b = dva; 
            this.c = tri; 
        } 
        public int izracun() { 
            for (int i = a; i <=b; i++) 
            { 
                if (i%c!=0) 
                { 
                    suma += i; 
                } 
            } 
            return suma; 
        } 
    } 

 

namespace WindowsFormsApplication372 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        private void button1_Click(object sender, EventArgs e) 
        { 
            int a = int.Parse(textBox1.Text); 
            int b = int.Parse(textBox2.Text); 
            int c = int.Parse(textBox3.Text); 
 
            Brojevi broj = new Brojevi(a,b,c); 
            MessageBox.Show(broj.izracun().ToString()); 
        } 
    } 

34. Napravite GUI aplikaciju koja je virtualno podijeljena na 4 kvadranta. Ovisno o tome u koji 
kvadrant se klikne, korisniku se u label (u sredini forme) ispisuje u koji kvadrant je kliknuto(SZ,SI,JZ,JI). 
Forma ne smije biti fiksne veličine. Neka se promjeni pozadine forme ovisno u koji kvadrant je 
kliknuto: SZ=Zelena, SI =Plava, JZ = Crvena, JI = Žuta. 

namespace WindowsFormsApplication373 

    class Strane 
    { 
        public Strane() { } 
 
        public void straneSvijeta(Form1 forma, MouseEventArgs e) 
        { 
            
            forma.label1.Text = ""; 
            int xSredina = (forma.Width/2)‐10; 
            int ySredina = (forma.Height / 2) ‐ 25; 
 
            if (e.Y <= ySredina) forma.label1.Text += "S"; 
            else forma.label1.Text += "J"; 
            if (e.X <= xSredina) forma.label1.Text += "Z"; 
            else forma.label1.Text += "I"; 
            switch (forma.label1.Text) 
            { 
                case "SZ": forma.BackColor = Color.Green; 
                    break; 
                case "SI": forma.BackColor = Color.Blue; 
                    break; 
                case "JZ": forma.BackColor = Color.Red; 
                    break; 
                case "JI": forma.BackColor = Color.Yellow; 
                    break; 
 
                default: 
                    break; 
            } 
         } 
    } 

 

namespace WindowsFormsApplication373 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            this.setLabelLocation(); 
        } 
        private void setLabelLocation() {  
            int x = (this.Width/2)‐(this.label1.Width/2)‐10; 
            int y = (this.Height/2)‐(this.label1.Height/2)‐25; 
            this.label1.Location = new Point(x, y); 
        } 
 
        private void Form1_MouseClick(object sender, MouseEventArgs e) 
        { 
            Strane s = new Strane(); 
            s.straneSvijeta(this,e); 
        } 
    } 

35. Napravite GUI aplikaciju koja ima 2 ProgressBar. ProgressBar kontrole će grafički prikazivati 
koordinate miša na glavnoj formi u obliku popunjenosti progressbarova. Prvi progressbar je za X 
vrijednost, drugi je za Y vrijednost. Ako je miš u gornjem lijevom kutu ProgressBar kontrole imaju 
vrijednost 0%, ukoliko je miš u donjem desnom kutu ProgressBar kontrole imaju vijednost 100% itd. 

namespace WindowsFormsApplication374 

    class Lokacija 
    { 
        public Lokacija() { } 
        public void pokaziLokaciju(Form1 forma, MouseEventArgs e) { 
            forma.progressBar1.Value = e.X; 
            forma.progressBar2.Value = e.Y; 
        } 
    } 

namespace WindowsFormsApplication374 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            this.progressBar1.Minimum = 0; 
            this.progressBar1.Maximum = this.Width; 
            this.progressBar2.Minimum = 0; 
            this.progressBar2.Maximum = this.Height; 
        } 
 
        private void Form1_MouseMove(object sender, MouseEventArgs e) 
        { 
            Lokacija l = new Lokacija(); 
            l.pokaziLokaciju(this, e); 
        } 
    } 

36. Napravite GUI aplikaciju koja sadrži dvije NumericUpDown kontrole, jedan label i jednu tipku. 
Korisnik u NUD kontrolama odabire mjesece u godini, pritiskom na tipku korisniku se u label treba 
ispisati popis mjeseca između dvije NUD vrijednosti. Mjeseci (brojevi) trebaju biti odvojeni zarezom. 

namespace WindowsFormsApplication375 

    class Mjeseci 
    { 
        int val1, val2; 
        string s = ""; 
        public Mjeseci(int a, int b) { 
            this.val1 = a; 
            this.val2 = b; 
        } 
        public string popisMjeseci() { 
             
            for (int i=(val1)+1; i<=(val2)‐1; i++) 
            { 
                s += i.ToString()+','; 
            } 
            return s; 
        } 
    } 

namespace WindowsFormsApplication375 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            this.numericUpDown1.Minimum = 1; 
            this.numericUpDown1.Maximum = 12; 
            this.numericUpDown2.Minimum = 1; 
            this.numericUpDown2.Maximum = 12; 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            int val1 = Convert.ToInt32(numericUpDown1.Value); 
            int val2 = Convert.ToInt32(numericUpDown2.Value); 
            Mjeseci m = new Mjeseci(val1, val2); 
            this.label1.Text = m.popisMjeseci().ToString(); 
 
        } 
    } 

 

37. Napravite GUI aplikaciju koja prilikom klika na svaki puta kada netko upiše slovo T u textbox, 
promjeni lokaciju textboxa slučajnim odabirom. 

namespace WindowsFormsApplication376 

    class PromjenaTeksta 
    { 
        public PromjenaTeksta() { } 
        public void promjena(Form1 forma) { 
            if (forma.textBox1.Text[forma.textBox1.Text.Length‐1]=='T') 
            { 
                Random r = new Random(); 
                int x = r.Next(0, forma.Width); 
                int y = r.Next(0, forma.Height); 
                forma.textBox1.Location = new Point(x, y); 
            } 
        } 
    } 

 

namespace WindowsFormsApplication376 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void textBox1_TextChanged(object sender, EventArgs e) 
        { 
            PromjenaTeksta pt = new PromjenaTeksta(); 
            pt.promjena(this); 
        } 
    } 

38. Napravite GUI aplikaciju koja sadrži 5 labela i tipku. Svake sekunde labele prikazuju slučajne 
brojeve i nalaze se na slučajnim pozicijama unutar okvira glavne forme. Pritiskom na tipku se 
pokreće/zaustavlja slučajni razmještaj (i slučajni sadržaj labela). 

namespace WindowsFormsApplication377 

    class Lokacija 
    { 
        Random random = new Random(); 
        public Lokacija() { } 
 
        public void lociranje(Form1 forma) { 
            forma.setLabel(forma.label1, random); 
            forma.setLabel(forma.label2, random); 
            forma.setLabel(forma.label3, random); 
            forma.setLabel(forma.label4, random); 
            forma.setLabel(forma.label5, random); 
 
        } 
    } 

 

namespace WindowsFormsApplication377 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            if (timer1.Enabled==false) 
            { 
                timer1.Start(); 
            } 
            else if (timer1.Enabled==true) 
            { 
                timer1.Stop(); 
            } 
        } 
 
        public void setLabel(Label label, Random random) 
        { 
            label.Text = random.Next().ToString(); 
            int x = random.Next(0, this.Width); 
            int y = random.Next(0, this.Height); 
            label.Location = new Point(x, y); 
        } 
         
        private void timer1_Tick(object sender, EventArgs e) 
        { 
            Lokacija l = new Lokacija(); 
            l.lociranje(this); 
        } 
    } 

 

39. Napravite GUI aplikaciju koja korisniku omogućuje provjeru vida, klikom na tipke povećaj ili 
smanji, povećava se ili smanjuje font centralne labele, čiji se sadržaj mijenja slučajnim odabirom 
nakon klika na labelu. 

namespace WindowsFormsApplication378 

    class Tekst 
    { 
        public Tekst() { } 
        public void promjenaTeksta(Form1 forma) { 
            Random r = new Random(); 
            string tekst = (r.Next(0, 100).ToString()); 
            forma.label1.Text = tekst.ToString(); 
        } 
    } 

namespace WindowsFormsApplication378 

    class Plus 
    { 
        public Plus() { } 
        public void povecaj(Form1 forma) { 
            forma.label1.Font = new Font(forma.label1.Font.FontFamily, 
forma.label1.Font.Size + 1); 
        } 
    } 

namespace WindowsFormsApplication378 

    class Minus 
    { 
        public Minus() { } 
        public void smanji(Form1 forma) { 
            forma.label1.Font = new Font(forma.label1.Font.FontFamily, 
forma.label1.Font.Size ‐ 1); 
        } 
    } 

namespace WindowsFormsApplication378 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        private void label1_Click(object sender, EventArgs e) 
        { 
            Tekst t = new Tekst(); 
            t.promjenaTeksta(this); 
        } 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Plus p = new Plus(); 
            p.povecaj(this); 
        } 
        private void button2_Click(object sender, EventArgs e) 
        { 
            Minus m = new Minus(); 
            m.smanji(this); 
        } 
    } 

 

40. Napravite GUI aplikaciju koja dinamički na zaslonu generira 10 progress barova, kojima će se 
svaku sekundu vrijednosti postaviti na slučajan broj. 
namespace WindowsFormsApplication380 

    class Vrijednost 
    { 
        public Vrijednost() { } 
        public void pokaziVrijednost(Form1 forma) { 
            Random r = new Random(); 
            for (int i = 0; i < 10; i++) 
            { 
                int vrijednost = r.Next(0, 100); 
                forma.pb[i].Value = vrijednost; 
            } 
        } 
    } 

namespace WindowsFormsApplication380 

    public partial class Form1 : Form 
    { 
        public ProgressBar[] pb = new ProgressBar[10]; 
        public Form1() 
        { 
            InitializeComponent(); 
            for (int i = 0; i < 10; i++) 
            { 
                pb[i] = new ProgressBar(); 
                pb[i].Maximum = 100; 
                pb[i].Minimum = 0; 
                pb[i].Location = new Point(0, i*25); 
                this.Controls.Add(pb[i]); 
            } 
            timer1.Start(); 
        } 
 
        private void timer1_Tick(object sender, EventArgs e) 
        { 
            Vrijednost v = new Vrijednost(); 
            v.pokaziVrijednost(this); 
        } 
    } 

41. Napravite aplikaciju koja će ispisivati fibbonacijev niz do proizvoljnog reda. 

namespace WindowsFormsApplication381 

    class Niz 
    { 
        public Niz() { } 
        public void napraviNiz(Form1 forma) { 
            forma.label1.Text = ""; 
            int a = 0; 
            int b = 1; 
            int suma = 1; 
            for (int i = 0; i < int.Parse(forma.textBox1.Text); i++) 
            { 
                forma.label1.Text += suma.ToString() + ','; 
                suma = a + b; 
                a = b; 
                b = suma; 
            } 
 
        } 
    } 

 

namespace WindowsFormsApplication381 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Niz n = new Niz(); 
            n.napraviNiz(this); 
        } 
    } 

42. Napravite aplikaciju koja dijeli 2 broja i omogućuje dijeljenje s 0 (x/= inf). 

namespace WindowsFormsApplication382 

    class Racun 
    { 
        double a, b; 
        public Racun(double jedan, double dva) { 
            this.a = jedan; 
            this.b = dva; 
        } 
 
        public double izrcun() { 
            double c = a / b; 
            return c; 
        } 
    } 

 

namespace WindowsFormsApplication382 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            int a = int.Parse(textBox1.Text); 
            int b = int.Parse(textBox2.Text); 
            Racun rac = new Racun(a, b); 
            MessageBox.Show(rac.izrcun().ToString()); 
        } 
    } 

43. Napravite GUI aplikaciju koja implementira kalkulator s 2 broja (textbox) i 2 operacije ( tipke + i ‐) 
koji ispisuje rezultat u messagebox. 

namespace WindowsFormsApplication384 

        class Racun 
        { 
            int a, b; 
            int c = 0; 
        public Racun(int jedan, int dva) { 
            this.a = jedan; 
            this.b = dva; 
        } 
        public int zbroj() { 
            c = a + b; 
            return c; 
        } 
        public int oduzmi(){ 
            c = a ‐ b; 
            return c; 
        } 
    } 

namespace WindowsFormsApplication384 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        private void button1_Click(object sender, EventArgs e) 
        { 
            int a = int.Parse(textBox1.Text); 
            int b = int.Parse(textBox2.Text); 
            Racun r = new Racun(a,b); 
            MessageBox.Show(r.zbroj().ToString()); 
        } 
        private void button2_Click(object sender, EventArgs e) 
        { 
            int a = int.Parse(textBox1.Text); 
            int b = int.Parse(textBox2.Text); 
            Racun r = new Racun(a, b); 
            MessageBox.Show(r.oduzmi().ToString()); 
        } 
    } 

44. Napravite GUI aplikaciju koja ima textbox i tipku. Korisnik kroz textbox unosi broj X, pritiskom na 
tipku potrebno je generirati X label objekata te ih smjestiti u glavnu formu (controls kolekcija). 
pozicija svakog labela neka bude slučajna unutar dimenzija glavne forme. Sadržaj labela je slučajan 
broj. 

namespace WindowsFormsApplication385 

    class NoveLabele 
    { 
        public NoveLabele() { } 
        public void generiraj(Form1 forma) { 
            int broj = int.Parse(forma.textBox1.Text); 
            Label labela; 
            Random r = new Random(); 
            for (int i = 0; i < broj; i++) 
            { 
                labela = new Label(); 
                int a = r.Next(0, forma.Width); 
                int b = r.Next(0, forma.Height); 
                labela.Location = new Point(a, b); 
                labela.Text = r.Next().ToString(); 
                forma.Controls.Add(labela); 
            } 
         } 
    } 

namespace WindowsFormsApplication385 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        private void button1_Click(object sender, EventArgs e) 
        { 
            NoveLabele lab = new NoveLabele(); 
            lab.generiraj(this); 
        } 
    } 

45. Napravite GUI aplikaciju koja ima 2 ListBox kontrole. Prvu kontrolu programski popunite s rednim 
brojevima mjeseca (od 1 do 12). Kada korisnik odabere neki mjesec, druga ListBox kontrola se popuni 
s rednim brojevima dana tog mjeseca. Napomena: Koristiti DateTime.DaysInMonth metodu za 
dohvaćanje broja dana u mjesecu. 

namespace WindowsFormsApplication386 

    class Lista 
    { 
        public Lista(){} 
        public void lista(Form1 forma) { 
            forma.listBox2.Items.Clear(); 
            for (int i = 1; i <= DateTime.DaysInMonth(DateTime.Now.Year, 
forma.listBox1.SelectedIndex+1); i++) 
            { 
                forma.listBox2.Items.Add(i); 
            } 
        } 
    } 

namespace WindowsFormsApplication386 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            for (int i = 1; i <= 12; i++) 
            { 
                listBox1.Items.Add(i); 
            } 
        } 
 
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            Lista list = new Lista(); 
            list.lista(this); 
        } 
    } 

46. Napravite GUI aplikaciju s jednom formom i jednom klasom Pravokutnik. Na formi se nalazi 5 
texboxova i jedna tipka. U prva 2 textboxa korisnik unosi visinu i širinu pravokutnika, a zatim klikne na 
tipku Izračunaj. U ostala 3 textboxa se tada prikažu vrijednosti površine pravokutnika, opsega 
pravokutnika i dijagonale pravokutnika. Sva funkcionalnost koja se odnosi na pravokutnik se nalazi u 
klasi Pravokutnik. Klasa pravokutnik ima privatne atribute: širina, visina; konstruktor koji prima 
parametre: širina, visina; javne metode: IzracunajPovrsinu, IzracunajOpseg, IzracunajDijagonalu. 

namespace Zadatak46  
{  
class Pravokutnik  
{  
private float visina, sirina;  
public Pravokutnik (float a, float b)  
{  
this.visina = a;  
this.sirina = b;  
}  
public float IzracunajPovrsinu()  
{  
return visina*sirina;  
}  
public float IzracunajOpseg()  
{  
return visina*2+ sirina*2;  
}  
public float IzracunajDijagonalu()  
{  
return (float)Math.Sqrt(visina * visina + sirina * sirina);  
}  
}  

47. Napravite GUI aplikaciju koja sadrži samo jednu tipku. Pritiskom na tipku, na formi se generira 
100 labela na sljedeći način. Svaka labela u sebi sadrži slučajan broj od 1 do 1000. U gornjoj polovici 
forme ispisuju se brojevi veći od 500, a u donjoj manji od 500. U lijevoj polovici forme ispisuju se 
neparni brojevi, a u desnoj polovici forme se ispisuju parni brojevi. 

namespace WindowsFormsApplication387 

    class GeneriranjeLabele 
    { 
        public GeneriranjeLabele() { } 
        public void generiraj(Form1 forma) { 
            Random brojevi = new Random(); 
            int provjera; 
            for (int i = 0; i < 100; i++) 
            { 
                Label labela = new Label(); 
                provjera = brojevi.Next(0,1000); 
                if (provjera < 500 && provjera %2==0 ) 
                { 
                    labela.Location = new 
Point(brojevi.Next(forma.Width/2,forma.Width),brojevi.Next(forma.Height/2,forma.Height
)); 
                    labela.Text = provjera.ToString(); 
                } 
                if (provjera > 500 && provjera % 2 ==0) 
                { 
                    labela.Location = new Point(brojevi.Next(forma.Width/2, 
forma.Width),brojevi.Next(0, forma.Height/2)); 
                    labela.Text = provjera.ToString(); 
                } 
                if (provjera < 500 && provjera % 2 !=0) 
                { 
                    labela.Location = new 
Point(brojevi.Next(0,forma.Width/2),brojevi.Next(forma.Height/2,forma.Height)); 
                    labela.Text = provjera.ToString(); 
                } 
                if (provjera > 500 && provjera %2!=0) 
                { 
                    labela.Location = new 
Point(brojevi.Next(0,forma.Width/2),brojevi.Next(0,forma.Height/2)); 
                    labela.Text = provjera.ToString(); 
                } 
                forma.Controls.Add(labela); 
            } 
        } 
 
    } 

namespace WindowsFormsApplication387 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            GeneriranjeLabele generiranje = new GeneriranjeLabele(); 
            generiranje.generiraj(this); 
        } 
    } 

48. Napravite GUI aplikaciju koja sadrži jedan textbox i jednu tipku. Korisnik u textbox unosi riječ. 
Pritiskom na tipku aplikacija provjerava da li je unesena riječ palindrom ili ne. Rezultat provjere se 
ispisuje u messageboxu (DA ili NE). 

namespace WindowsFormsApplication388 

    class Palindrom 
    { 
        public Palindrom() { } 
        public void palindrom(Form1 forma) { 
            bool pali = true; 
            for (int i = 0; i < forma.textBox1.Text.Length; i++) 
            { 
                if (forma.textBox1.Text[i] != 
forma.textBox1.Text[forma.textBox1.Text.Length‐1‐i]) 
                { 
                    pali = false; 
                } 
            } 
            if (pali == false) 
            { 
                MessageBox.Show("NE"); 
            } 
            else if (pali == true) MessageBox.Show("DA"); 
        } 
    } 

 
namespace WindowsFormsApplication388 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Palindrom p = new Palindrom(); 
            p.palindrom(this); 
        } 
    } 

49. Napravite GUI aplikaciju koja sadrži jedan textbox i jednu tipku. Korisnik u 
textbox unosi tekst. Pritiskom na tipku aplikaciju ispisuje statistiku (broj 
ponavljanja) za svako slovo u tekstu. Rezultat se ispisuje u messageboxu. 

namespace WindowsFormsApplication339 

    class Znak 
    { 
        public char Slovo { get; set; } 
        public int BrojPonavljanja { get; set; } 
 
        public Znak(char slovo) 
        { 
            this.Slovo = slovo; 
            this.BrojPonavljanja = 1; 
        } 
    } 

namespace WindowsFormsApplication339 

    class BrojacSlova 
    { 
        public BrojacSlova() { } 
 
        public List<Znak> PobrojiSlova(string recenica) 
        { 
            List<Znak> slova = new List<Znak>(); 
            List<char> slovaRecenice = recenica.ToList<char>(); 
            slovaRecenice.Sort(); 
            for (int i = 0; i < slovaRecenice.Count; i++) 
            { 
                Znak trenutno = new Znak(slovaRecenice[i]); 
                bool ima = false; 
                foreach (Znak slovo in slova) 
                { 
                    if (slovo.Slovo == trenutno.Slovo) 
                    { 
                        slovo.BrojPonavljanja++; 
                        ima = true; 
                        break; 
                    } 
                } 
                if (!ima) 
                { 
                    slova.Add(trenutno); 
                } 
            } 
            return slova; 
        } 
    } 

namespace WindowsFormsApplication339 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
             
            BrojacSlova bc = new BrojacSlova(); 
            List<Znak> slova = bc.PobrojiSlova(textBox1.Text); 
            string poruka = ""; 
            foreach (Znak slovo in slova) 
            { 
                poruka += slovo.Slovo + " = " + slovo.BrojPonavljanja.ToString() + 
Environment.NewLine; 
            } 
            MessageBox.Show(poruka); 
        } 
    } 

50. Napravite GUI aplikaciju koja ima textbox i tipku. Korisnik u textbox unosi broj 
X, pritiskom na tipku potrebno je generirati X button objekata te ih smjestiti u 
glavnu formu (controls kolekcija). pozicija svakog buttona neka bude slučajna unutar 
dimenzija glavne forme. Tekstualni sadržaj buttona je slučajan broj. Pritiskom na bilo 
koji od X buttona korisniku se prikazuje messagebox s informacijom o lokaciji buttona. 

namespace WindowsFormsApplication390 

    class Gumbi 
    { 
        public Gumbi() { } 
         
        public void napraviGumbe(Form1 forma) { 
            int broj = int.Parse(forma.textBox1.Text); 
            Random r = new Random(); 
            for (int i = 0; i < broj; i++) 
      { 
                Button gumb = new Button(); 
                int x = r.Next(0, forma.Width); 
                int y = r.Next(0, forma.Height); 
                gumb.Location = new Point(x,y); 
                gumb.Text = r.Next(0, 100).ToString(); 
                gumb.Click += gumb_Click; 
                forma.Controls.Add(gumb); 
      } 
        } 
 
        void gumb_Click(object sender, EventArgs e) 
        { 
            Button drugiGumb = (Button)sender; 
            MessageBox.Show("Lokacija :" + drugiGumb.Location.X + ", " + 
drugiGumb.Location.Y); 
        } 
    } 

namespace WindowsFormsApplication390 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Gumbi g = new Gumbi(); 
            g.napraviGumbe(this); 
        } 
    } 

51. Napravite windows forma aplikaciju koja sadrži 4 textboxa (T1,T2,T3,T4) u koje 
korisnik unosi brojeve (potrebna je provjera unosa broja). pritiskom na tipku 
korisniku se ispisuje presjek dva intervala ( [T1, T2] i [T3, T4]) u obliku 
messageboxa, ispisuju se vrijednosti odvojene zarezom. 

namespace WindowsFormsApplication391 

    class Skupovi 
    { 
        int a = 0, b = 0, c = 0, d = 0; 
        public Skupovi(int jedan, int dva, int tri, int cetiri) { 
            this.a = jedan; 
            this.b = dva; 
            this.c = tri; 
            this.d = cetiri; 
        } 
        public string presjekskupova() { 
            List<int> prviDio = new List<int>(); 
            List<int> drugiDio = new List<int>(); 
            for (int i = a; i <=b; i++) 
            { 
                prviDio.Add(i); 
            } 
            for (int i = c; i <= d; i++) 
            { 
                drugiDio.Add(i); 
            } 
            List<int> presjek = new List<int>(); 
            foreach (int x in prviDio) 
            { 
                if (drugiDio.Contains(x)) 
                { 
                    presjek.Add(x); 
                } 
            } 
            string ispis = ""; 
            foreach (int x in presjek) 
            { 
                ispis += x.ToString()+','; 
            } 
            return ispis; 
        } 
    } 

namespace WindowsFormsApplication391 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            int a = 0, b = 0, c = 0, d = 0; 
            try 
            { 
                int.TryParse(textBox1.Text, out a); 
                int.TryParse(textBox2.Text, out b); 
                int.TryParse(textBox3.Text, out c); 
                int.TryParse(textBox4.Text, out d); 
            } 
            catch 
            { 
                MessageBox.Show("Nisu unešeni brojevi!"); 
            } 
            Skupovi s = new Skupovi(a,b,c,d); 
            MessageBox.Show(s.presjekskupova().ToString()); 
        } 
    } 

52. Napravite GUI aplikaciju koja sluzi kao brojač klikova (sadrži tipku, textbox), 
klikom na tipku broji se broj klikova, nakon X klikova se vrijednost resetira. X 
vrijednost korisnik unosi preko textboxa. Prilikom pritiska na tipku potrebno je 
promijeniti boju pozadine tipke, u početku (i nakon resetiranja) boja pozadine je 
siva, što se broj klikova približava vrijednosti X boja pozadine tipke postaje sve 
crvenija. u Text tipke treba ispisati trenutno stanje klikova u obliku: 
broj_klikova/X. 

namespace WindowsFormsApplication392 

    class Gumb 
    { 
        int brojac, maxKlikova; 
        public Gumb(int a, int b) { 
            this.brojac = a; 
            this.maxKlikova = b; 
        } 
        public void bojaGumba(Form1 forma) { 
            if (brojac > maxKlikova) 
            { 
                brojac = 0; 
                forma.button1.BackColor = Color.FromArgb(100, 100, 100); 
            } 
            else 
            { 
                int ikrement = 155 / maxKlikova; 
                Color trenutnaBoja = forma.button1.BackColor; 
                forma.button1.BackColor = Color.FromArgb(trenutnaBoja.R + ikrement, 
100, 100); 
            } 
            forma.button1.Text = brojac.ToString(); 
        } 
    } 

 
namespace WindowsFormsApplication392 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            this.button1.BackColor = Color.FromArgb(100, 100, 100); 
        } 
 
        int brojac = 0; 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            ++brojac; 
            int maxKlikova = int.Parse(textBox1.Text); 
            Gumb g = new Gumb(brojac,maxKlikova); 
            g.bojaGumba(this); 
        } 
    } 

53. Napravite konzolnu aplikaciju. U njoj kreirajte novu klasu "Mjesec", koja predstavlja kalendarski 
mjesec i sadrži sljedeće elemente: privatne atribute (int _id, string _naziv, int _brojDana), 
odgovarajuća javna svojstva za navedene atribute te konstruktor koji prima ova tri parametra i 
dodjeljuje ih atributima klase. U Main metodi kreirajte 12 instanci klase Mjesec (jedna instanca za 
svaki kalendarski mjesec), popunite odgovarajuće podatke, i dodajte ih u listu (List<Mjesec>). Nakon 
toga napravite statičku metodu IzracunSemestra, koja vraća listu mjeseca koji ulaze u semestar, a 
prima kao parametre listu svih 12 mjeseca, početni mjesec, i završni mjesec semestra (na primjeru 
metode IzracunSemestra pokažite princip preopterećivanja metoda ‐ overloading, na način da prva 
metoda IzracunSemestra početni i završni mjesec prima kao id‐ove mjeseca, a druga kao cijele 
objekte klase Mjesec). Na kraju u metodi Main uz pomoć metode IzracunSemestra ispišite posebno 
mjesece zimskog semestra a posebno mjesece ljetnog semestra. Također ispišite ukupan broj dana 
pojedinog semestra. 

namespace Zadatak53  
{  
class Mjesec  
{  
private int _id;  
private string _naziv;  
private int _brojDana;  
public Mjesec (int id, string naziv, int brojDana)  
{  
_id = id;  
_naziv = naziv;  
_brojDana = brojDana;  
}  
public void ispis()  
{  
Console.WriteLine(_naziv);  
}  
public int get_brojDana()  
{  
return _brojDana;  
}  
public static List<Mjesec> izracunSemestra(List<Mjesec> popis_mjeseca, Mjesec 
pocetni, Mjesec zavrsni)  
{  
List<Mjesec> mjeseci_u_rasponu = new List<Mjesec>();  
int indeksPocetni = 0;  
int indeksZavrsni = 0;  
for (int i = 0; i < 12; i++)  
{  
if (pocetni._naziv == popis_mjeseca[i]._naziv) indeksPocetni = i;  
if (zavrsni._naziv == popis_mjeseca[i]._naziv) indeksZavrsni = i;  
}  
for (int i = indeksPocetni; i <= indeksZavrsni; i++)  
{  
mjeseci_u_rasponu.Add(popis_mjeseca[i]);  
}  
return mjeseci_u_rasponu;  
}  
}  

  
namespace Zadatak53  
{  
class Program  
{  
static void Main(string[] args)  
{  
List<Mjesec> popisMjeseca = new List<Mjesec>();  
Mjesec ve = new Mjesec(2, "Veljača", 29);  
Mjesec oz = new Mjesec(3, "Ožujak", 31);  
Mjesec tr = new Mjesec(4, "Travanj", 30);  
Mjesec sv = new Mjesec(5, "Svibanj", 31);  
Mjesec li = new Mjesec(6, "Lipanj", 30);  
Mjesec sr = new Mjesec(7, "Spranj", 31);  
Mjesec ko = new Mjesec(8, "Kolovoz", 30);  
Mjesec ru = new Mjesec(9, "Rujan", 31);  
Mjesec ls = new Mjesec(10, "Listopad", 30);  
Mjesec st = new Mjesec(11, "Studeni", 31);  
Mjesec pr = new Mjesec(12, "Prosinac", 30);  
Mjesec sj = new Mjesec(1, "Sijecanj", 31);  
popisMjeseca.Add(ve);  
popisMjeseca.Add(oz);  
popisMjeseca.Add(tr);  
popisMjeseca.Add(sv);  
popisMjeseca.Add(li);  
popisMjeseca.Add(sr);  
popisMjeseca.Add(ko);  
popisMjeseca.Add(ru);  
popisMjeseca.Add(ls);  
popisMjeseca.Add(st);  
popisMjeseca.Add(pr);  
popisMjeseca.Add(sj);  
List<Mjesec> raspon = new List<Mjesec>();  
raspon = Mjesec.izracunSemestra(popisMjeseca, ve, ls);  
Console.WriteLine("Mjeseci ljetnog semestra:");  
int zbrojDana = 0;  
foreach (Mjesec mjesec in raspon)  
{  
mjesec.ispis();  
zbrojDana += mjesec.get_brojDana();  
}  
Console.WriteLine("Broj dana semestra: " + zbrojDana.ToString());  
int zbrojDana2 = 31;  
List<Mjesec> raspon2 = new List<Mjesec>();  
raspon2 = Mjesec.izracunSemestra(popisMjeseca, ru, sj);  
Console.WriteLine("Mjeseci zimskog semestra:");  
foreach (Mjesec mjesec2 in raspon2)  
{  
mjesec2.ispis();  
zbrojDana2 += mjesec2.get_brojDana();  
}  
Console.WriteLine("Broj dana semestra: " + zbrojDana2.ToString());  
Console.ReadLine();  
}  
}  

54. Napravite konzolnu aplikaciju. U njoj kreirajte novu klasu Zaposlenik koja predstavlja zaposlenika 
u nekom poduzeću. Klasa zaposlenik sadrži sljedeće elemente: javne atribute (int _id, string 
_imePrezime, float[] _mjesecnePlace), konstruktor koji prima parametre (id, imePrezime), te javne 
metode IzracunGodisnjeZarade, IzracunProsjecneZarade, koje vraćaju odgovarajuće vrijednosti. U 
izračun prosječe zarade ulaze samo plaće veće od nule. U Main metodi dodajte jednog zaposlenika, 
ispunite podatke o plaći, te ispišite njegove podatke, zajedno sa mjesečnim zaradama,te ukupnom i 
prosječnom zaradom. 

namespace Zadatak54  
{  
class Zaposlenik  
{  
private int _id;  
private string _imePrezime;  
private float[] _mjesecnePlace;  
public int id { get; set; }  
public string imePrezime { get; set; }  
public float[] mjesecnePlace { get; set; }  
public float godisnjaZarada(float[] _mjesecnePlace)  
{  
float zbroj = 0;  
for (int i = 0; i < 12; i++)  
{  
zbroj += _mjesecnePlace[i];  
}  
return zbroj;  
}  
public float prosjek(float[] _mjesecnePlace)  
{  
float zbroj = 0;  
for (int i = 0; i < 12; i++)  
{  
zbroj += _mjesecnePlace[i];  
}  
return zbroj/12;  
}  
}  
}  
 
namespace Zadatak54  
{  
class Program  
{  
static void Main(string[] args)  
{  
float[] d = new float[12];  
string a;  
Zaposlenik z = new Zaposlenik();  
Console.WriteLine("Unos podataka o zaposleniku");  
Console.WriteLine("Ime i prezime: ");  
z.imePrezime = Console.ReadLine();  
Console.WriteLine("Id: ");  
z.id = int.Parse(Console.ReadLine());  
for (int i = 0; i < 12; i++)  
{  
Console.WriteLine("Unesi mjesečnu plaću: ");  
a = Console.ReadLine().ToString();  
float t = float.Parse(a);  
if (t > 0)  
{  
d[i] = t;  
}  
else  
{  
i‐‐;  
}  
}  
Console.WriteLine(z.id.ToString() + " " + z.imePrezime);  
for (int i = 0; i < 12; i++)  
{  
Console.WriteLine(d[i].ToString() + " ");  
}  
Console.WriteLine("Ukupno: " + z.godisnjaZarada(d).ToString());  
Console.WriteLine("Prosjek: " + z.prosjek(d).ToString());  
Console.ReadLine();  
}  
}  

55. Napravite GUI aplikaciju koja implementira operacije unije, presjeka i razlike dvaju skupova cijelih 
brojeva. Na formi se nalaze 2 Textbox‐a (txtUnos1, txtUnos2), 3 Listbox‐a (lstUnos1, lstUnos2, 
lstRezultat), i 3 tipke (btnUnija, btnPresjek, btnRazlika). Korisnik unosi brojeve u listu brojeva na 
sljedeći način. Za unos prve liste brojeva korisnik unosi broj u txtUnos1 pritisne ENTER na tipkovnici, 
uneseni broj se doda u Listbox lstUnos1 i obriše iz txtUnos1. Zatim u txtUnos1 unosi drugi broj + 
ENTER itd. Na isti način se dodaju brojevi i u drugu listu lstUnos2 s razlikom da za unos ovaj put 
koristimo txtUnos2. S obzirom na to da se radi o skupovima, u listi brojeva se ne smiju pojaviti dvije 
iste vrijednosti. Također, potrebno je validirati korisnički unos, tako da budu dozvoljeni samo cijeli 
brojevi. Nakon što korisnik unese brojeve u obje liste, klikom na odgovarajuću tipku u lstRezultat se 
prikažu brojevi dobiveni unijom, presjekom ili razlikom prve dvije liste. 

namespace WindowsFormsApplication394 

    class PrviUnos 
    { 
        public PrviUnos() { } 
        public void unesi(Form1 forma, KeyEventArgs e) 
        { 
            if (e.KeyCode == Keys.Enter) 
            { 
                try 
                { 
                    int a = int.Parse(forma.txtUnos1.Text); 
                    if (forma.lstUnos1.Items.Contains(a)) 
                    { 
                        forma.txtUnos1.Clear(); 
                    } 
                    else 
                    { 
                        forma.lstUnos1.Items.Add(a); 
                        forma.txtUnos1.Clear(); 
                    } 
                } 
                catch (Exception) 
                { 
                    MessageBox.Show("Nije broj!"); 
                    forma.txtUnos1.Clear(); 
                } 
            } 
        } 
 
        public void drugiUnos(Form1 forma, KeyEventArgs e) { 
            if (e.KeyCode == Keys.Enter) 
            { 
                try 
                { 
                    int b = int.Parse(forma.txtUnos2.Text); 
                    if (forma.lstUnos2.Items.Contains(b)) 
                    { 
                        forma.txtUnos2.Clear(); 
                    } 
                    else 
                    { 
                        forma.lstUnos2.Items.Add(b); 
                        forma.txtUnos2.Clear(); 
                    } 
                } 
                catch (Exception) 
                { 
                    MessageBox.Show("Nije broj!"); 
                    forma.txtUnos2.Clear(); 
                } 
            } 
        } 
        public void unija(Form1 forma) { 
            forma.lstRezultat.Items.Clear(); 
            foreach (int x in forma.lstUnos1.Items) 
            { 
                forma.lstRezultat.Items.Add(x); 
            } 
            foreach (int y in forma.lstUnos2.Items) 
            { 
                if (forma.lstUnos1.Items.Contains(y)) 
                { 
 
                } 
                else 
                { 
                    forma.lstRezultat.Items.Add(y); 
                } 
            } 
        } 
        public void presjek(Form1 forma) { 
            forma.lstRezultat.Items.Clear(); 
            foreach (int z in forma.lstUnos1.Items) 
            { 
                if (forma.lstUnos2.Items.Contains(z)) 
                { 
                    forma.lstRezultat.Items.Add(z); 
                } 
            } 
        } 
        public void razlika(Form1 forma) { 
            forma.lstRezultat.Items.Clear(); 
            foreach (int w in forma.lstUnos1.Items) 
            { 
                if (forma.lstUnos2.Items.Contains(w)) 
                { 
 
                } 
                else 
                { 
                    forma.lstRezultat.Items.Add(w); 
                } 
            } 
        } 
    } 

namespace WindowsFormsApplication394 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void txtUnos1_KeyDown(object sender, KeyEventArgs e) 
        { 
            PrviUnos p = new PrviUnos(); 
            p.unesi(this, e); 
        } 
 
        private void txtUnos2_KeyDown(object sender, KeyEventArgs e) 
        { 
            PrviUnos p = new PrviUnos(); 
            p.drugiUnos(this, e); 
        } 
 
        private void btnUnija_Click(object sender, EventArgs e) 
        { 
            PrviUnos p = new PrviUnos(); 
            p.unija(this); 
        } 
 
        private void btnPresjek_Click(object sender, EventArgs e) 
        { 
            PrviUnos p = new PrviUnos(); 
            p.presjek(this); 
        } 
 
        private void btnRazlika_Click(object sender, EventArgs e) 
        { 
            PrviUnos p = new PrviUnos(); 
            p.razlika(this); 
        } 
    } 

 

56. Napravite GUI aplikaciju koja će množiti brojeve od N do M(koje unosi korisnik kroz textbox 
odvojeno zarezom Pomoć string.Split(...). Pritiskom na tipku započinje računanje. U drugi textbox 
treba zapisati vrijeme početka izračuna i vrijeme kraja izračuna kao i rezultat izračuna. (Pomoć: 
DateTime.Now). 

namespace WindowsFormsApplication395 

    class Racun 
    { 
        int rezultat = 1; 
        private int n, m; 
        public Racun(int jedan, int dva) { 
            this.n = jedan; 
            this.m = dva; 
        } 
        public int izracun() { 
            for (int i = n; i <= m; i++) 
            { 
                rezultat = rezultat * i; 
            } 
            return rezultat; 
        } 
    } 

 

namespace WindowsFormsApplication395 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            string[] brojevi = textBox1.Text.Split(','); 
            int a = int.Parse(brojevi[0]); 
            int b = int.Parse(brojevi[1]); 
            Racun r = new Racun(a, b); 
            textBox2.Text = r.izracun().ToString(); 
        } 
    } 

57. Napravite GUI aplikaciju s jednom formom i jednom klasom Trokut. Na formi se nalazi 5 
texboxova i jedna tipka. U prva 3 textboxa korisnik unosi stranice a b i c, a zatim klikne na tipku 
Izračunaj. U ostala 2 textboxa se tada prikažu vrijednosti opsega trokuta. Sva funkcionalnost koja se 
odnosi na trokut se nalazi u klasi Trokut. Klasa trokut ima privatne atribute: strA, strB, strC; 
konstruktor koji prima parametre: a, b, c; javne metode: IzracunajOpseg. 

namespace Zadatak57  
{  
class Trokut  
{  
private float strA;  
private float strB;  
private float strC;  
public Trokut(float a, float b, float c)  
{  
this.strA = a;  
this.strB = b;  
this.strC = c;  
}  
public float IzracunajOpseg()  
{  
return strA + strB +strC;  
}  
public float IzracunajPovrsinu()  
{  
float s = IzracunajOpseg()/2;  
return (float)Math.Sqrt(s * (s ‐ strA) * (s ‐ strB) * (s ‐strC));  
}  
}  

namespace Zadatak57  
{  
public partial class Form1 : Form  
{  
public Form1()  
{  
InitializeComponent();  
}  
private void button1_Click(object sender, EventArgs e)  
{  
  float strA = int.Parse(textBox1.Text); 
  float strB = int.Parse(textBox2.Text); 
  float strC = int.Parse(textBox3.Text) 
Trokut trokut = new Trokut(strA, strB, strC);  
textBox4.Text = trokut.IzracunajOpseg().ToString();  
textBox5.Text = trokut.IzracunajPovrsinu().ToString();  
}  
}  

58. Napravite GUI aplikaciju s jednom formom i jednom klasom Krug. Na formi se nalazi 3 texboxova i 
jedna tipka. U prvi textbox korisnik unosi polumjer kruga, a zatim klikne na tipku Izračunaj. U ostala 2 
textboxa se tada prikažu vrijednosti površine kruga i opsega kruga. Sva funkcionalnost koja se odnosi 
na krug se nalazi u klasi krug. Klasa krug ima privatne atribute: polumjer; konstruktor koji prima 
parametre: UlazPolumjer; javne metode: IzracunajPovrsinu, IzracunajOpseg. 

namespace Zadatak58  
{  
class Krug  
{  
private double polumjer;  
public Krug(double r)  
{  
this.polumjer = r;  
}  
public double IzracunajOpseg()  
{  
return 2 * polumjer * Math.PI;  
}  
public double IzracunajPovrsinu()  
{  
return Math.Pow(polumjer, 2) * Math.PI;  
}  
}  
}  
namespace Zadatak58  
{  
public partial class Form1 : Form  
{  
public Form1()  
{  
InitializeComponent();  
}  
private void button1_Click(object sender, EventArgs e)  
{  
Krug krug = new Krug(int.Parse(textBox1.Text));  
textBox2.Text = krug.IzracunajOpseg().ToString();  
textBox3.Text = krug.IzracunajPovrsinu().ToString();  
}  
}  

59. Napravite GUI aplikaciju koja će zbrajati dva broja 0‐9. Korisnik unosi u textbox izraz tipa 2+3 
pritiskom na tipku izračunaj u isti textbox se zapisuje rezultat (nalijepljeno na postojeći tekst i između 
stoji znak=) npr. 2+3=5. (Pomoć S: string.Split(...), ili Substring(...)) 

namespace WindowsFormsApplication396 

    class Racun 
    { 
        int suma = 0; 
        private int a, b; 
        public Racun(int m, int n) { 
            this.a = m; 
            this.b = n; 
        } 
        public int izracunaj() { 
            return suma = a + b; 
        } 
    } 

 

namespace WindowsFormsApplication396 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            string[] brojevi = textBox1.Text.Split('+'); 
            int a = int.Parse(brojevi[0]); 
            int b = int.Parse(brojevi[1]); 
            string rezultat = textBox1.Text; 
            textBox1.Clear(); 
            Racun r = new Racun(a,b); 
            textBox1.Text = rezultat + "=" + r.izracunaj().ToString();  
        } 
    } 

60. Napravite GUI aplikaciju koja će sadržavati jednu tipku. Pritiskom na tipku korisnik pokreće dretvu 
koja će samo spavati (Pomoć: Thread.Sleep(...)) slučajan broj sekundi do max 10 sekundi. Dretva će u 
messagebox ispisati vrijeme početka zatim će spavati i na kraju u message box ispisati vrijeme kraja 
spavanja (Pomoć: DateTime.Now) 

namespace WindowsFormsApplication397 

    class Dretve 
    { 
        public Dretve() { } 
         
        public void pocetak() { 
            MessageBox.Show(DateTime.Now.ToString(), "Pocetak"); 
        } 
        public void kraj() { 
            MessageBox.Show(DateTime.Now.ToString(), "Kraj"); 
        } 
    } 

namespace WindowsFormsApplication397 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        public static Thread dretva; 
         
        private void button1_Click(object sender, EventArgs e) 
        { 
            Dretve d = new Dretve(); 
 
            dretva = new Thread(new ThreadStart(d.pocetak)); 
            dretva.Start(); 
            Random r = new Random(); 
            int sekunde = r.Next(0, 10000); 
            Thread.Sleep(sekunde); 
            dretva = new Thread(new ThreadStart(d.kraj)); 
            dretva.Start(); 
 
        } 
    } 

 

61. Napravite konzolnu aplikaciju koja pokreće dvije dretve (A i B). Dretva A u konzolu svake 2 
sekunde ispisuje slovo "A". Dretva B u konzolu svake 3 sekunde ispisuje slovo "B". Pomoć: 
Console.WriteLine(...); 

namespace Zadatak61  
{  
class dretve  
{  
public void dretvaA()  
{  
while (true)  
{  
Console.WriteLine("Ovo je dretva A");  
Thread.Sleep(2000);  
}  
}  
public void dretvaB()  
{  
while (true)  
{  
Console.WriteLine("Ovo je dretva B");  
Thread.Sleep(3000);  
}  
}  
}  
}  
namespace Zadatak61  
{  
class Program  
{  
static void Main(string[] args)  
{  
dretve instancaA = new dretve();  
dretve instancaB = new dretve();  
Thread A = new Thread(new ThreadStart(instancaA.dretvaA));  
A.Start();  
Thread B = new Thread(new ThreadStart(instancaB.dretvaB));  
B.Start();  
}  
}  

62. Napravite GUI aplikaciju koja ima jedan textbox (Multiline = true), u textbox korisnik upisuje tekst. 
u slučaju da je korisnik 4 puta za redom stisnuo tipku Home tada se na postojeći tekst zalijepi izraz 
"Home run!" 

namespace WindowsFormsApplication398 

    class Home 
    { 
        int brojac; 
        public Home(int n) { 
            this.brojac = n; 
        } 
        public void homeRun(Form1 forma, KeyEventArgs e) { 
            if (e.KeyCode.ToString() == "Home") 
            { 
                brojac++; 
            } 
            if (brojac == 5) 
            { 
                forma.textBox1.Text += "Home Run"; 
                brojac = 0; 
            } 
        } 
    } 

namespace WindowsFormsApplication398 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        int brojac; 
        private void textBox1_KeyDown(object sender, KeyEventArgs e) 
        { 
            brojac++; 
            Home h = new Home(brojac); 
            h.homeRun(this,e); 
        } 
    } 

63. Napravite GUI aplikaciju koja ima jedan textbox i jednu tipku. U text box se upisuje naziv 
tekstualne datoteke (npr. "test.txt", datoteka se treba nalaziti na C: disku), klikom na tipku započinje 
pisanje u navedenu datoteku. Kad se započne pisanje u datoteku svake 4 sekunde u novi red u 
datoteci se zapisuje trenutni datum i vrijeme. 

Pomoć: za pisanje datoteke možete instancirati objekt klase StreamWriter (System.IO namespace), 
odnosno metodu Write. Za mjerenje sekundi postavite interval Timer‐a na 4 sekunde. 

namespace WindowsFormsApplication399 

    class Zapis 
    { 
        public Zapis() { } 
        public void zapisi(Form1 forma) { 
            StreamWriter zapisi = File.AppendText("D:\\"+forma.textBox1.Text+".txt"); 
            zapisi.WriteLine(DateTime.Now.ToString()); 
            zapisi.Close(); 
        } 
    } 

namespace WindowsFormsApplication399 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            timer1.Start(); 
        } 
 
        private void timer1_Tick(object sender, EventArgs e) 
        { 
            Zapis z = new Zapis(); 
            z.zapisi(this); 
        } 
    } 

64. Napravite GUI aplikaciju koja sadrži samo jedan Label objekt (Text = Programsko inženjerstvo). 
Prilikom pokretanja aplikacije od korisnika treba tražiti da odabere boju (ColorDialog) i da odabere 
font (FontDialog). Odabrana boja neka bude pozadina forme. Odabrani font neka bude font Labele. 

namespace WindowsFormsApplication400 

    class Izmjena 
    { 
        public Izmjena() { } 
        public void izmjeni(Form1 forma) { 
            forma.fontDialog1.ShowDialog(); 
            forma.colorDialog1.ShowDialog(); 
            forma.label1.Font = forma.fontDialog1.Font; 
            forma.BackColor = forma.colorDialog1.Color; 
        } 
    } 

 

namespace WindowsFormsApplication400 

    public partial class Form1 : Form 
    {   
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void Form1_Load(object sender, EventArgs e) 
        { 
            Izmjena iz = new Izmjena(); 
            iz.izmjeni(this); 
        } 
    } 

65. Napravite GUI aplikaciju koja temeljem parametara: Traženi iznos kredita, broj mjeseci otplate i 
kamate računa otplatni plan kredita. Način unosa nije bitan. Izgled jednog reda otplatne tablice: rbr. 
mjeseca, mj. rata, preostalo duga. Način prikaza otplatne tablice nije bitan (npr. jedan red u ListBox, 
TextBox, DataGridView,...) 

namespace WindowsFormsApplication410 

    class Izracuni 
    { 
        double iznos, rok; 
        public Izracuni(double a, double b) { 
            this.iznos = a; 
            this.rok = b; 
        } 
 
        public void iznosZaOtplatu(Form1 forma) { 
            double iznosZaOtplatu = iznos + (double)(1 + (forma.numKamta.Value / 
100)); 
            double mjesecnaRata = iznosZaOtplatu / rok; 
            double preostaloDuga = iznosZaOtplatu; 
            for (int i = 0; i < rok; i++) 
            { 
                preostaloDuga = preostaloDuga ‐ mjesecnaRata; 
                forma.listOtplata.Items.Add(new ListViewItem(new string[] { (i + 
1).ToString(), mjesecnaRata.ToString("F2"), preostaloDuga.ToString("F2") })); 
            } 
        } 
 
    } 

namespace WindowsFormsApplication410 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void btnCalculate_Click(object sender, EventArgs e) 
        { 
            if (!CheckInput()) 
            { 
                return; 
            } 
            listOtplata.Items.Clear(); 
            double iznos = 0; 
            double rok = 0; 
            if (!double.TryParse(txtIznos.Text, out iznos)) 
            { 
                MessageBox.Show("Neispravni iznos kredita"); 
                return; 
            } 
            if (!double.TryParse(txtRok.Text, out rok)) 
            { 
                MessageBox.Show("neispravan format za broj mj"); 
                return; 
            } 
            Izracuni iz = new Izracuni(iznos,rok); 
            iz.iznosZaOtplatu(this); 
 
        } 
        private bool CheckInput() 
        { 
            if (string.IsNullOrEmpty(txtIznos.Text)) 
            { 
                MessageBox.Show("polje za iznos kredita en smoje biti prazno"); 
                return false; 
            } 
            if (string.IsNullOrEmpty(txtRok.Text)) 
            { 
                MessageBox.Show("Polje za unos broja mj otplate ne smije biti 
prazno"); 
                return false; 
            } 
            return true; 
        } 
 
        private void Form1_Load(object sender, EventArgs e) 
        { 
            listOtplata.View = View.Details; 
            listOtplata.GridLines = true; 
            listOtplata.FullRowSelect = true; 
            listOtplata.Columns.Add("Rb"); 
            listOtplata.Columns.Add("Mjrata"); 
            listOtplata.Columns.Add("Preostalo"); 
 
        } 
    } 

 

66. Napravite GUI aplikaciju koja ima jednu tipku (width:50px, height: 50px, lokacija:negdje u sredini 
forme), prelaskom miša preko te tipke ona nestaje te umjesto nje nastaju dvije nove (koje imaju isto 
ponašanje). Lokacija nove dvije tipke je relativno blizu: u radijusu od max 100px od lokacije početne 
tipke. 

namespace WindowsFormsApplication337 
    { 
        class Micanje 
        { 
            private Form1 GlavnaForma { get; set; } 
            public Micanje(Form1 glavnaForma) 
            { 
                this.GlavnaForma = glavnaForma; 
            } 
            public List<Button> buttonList { get; private set; } 
 
            public void izvrsi(Button button) 
            { 
 
                Random gumb = new Random(); 
                for (int i = 0; i < 2; i++) 
                { 
                    Button gumb1 = new Button(); 
                    this.buttonList = new List<Button>(); 
 
                    //  this.buttonList.Add(gumb1); 
                    gumb1.Width = 50; 
                    gumb1.Height = 50; 
                    gumb1.Location = new Point((button.Location.X + gumb.Next(100)), 
(button.Location.Y + gumb.Next(100))); 
                    gumb1.Text = button.Text; 
                    Button gumb2 = new Button(); 
                    gumb2.Width = 50; 
                    gumb2.Height = 50; 
                    gumb2.Location = new Point((button.Location.X + gumb.Next(100)), 
(button.Location.Y + gumb.Next(100))); 
                    gumb2.Text = gumb1.Text; 
                    // gumb2.Visible = false; 
                    this.buttonList.Add(gumb1); 
                    this.buttonList.Add(gumb2); 
                } 
            } 
 
        } 
    } 

amespace WindowsFormsApplication401 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_MouseHover(object sender, EventArgs e) 
        { 
            Micanje k = new Micanje(this); 
            k.izvrsi(button1); 
            k.izvrsi(sender as Button); 
 
            foreach (Button item in k.buttonList) 
            { 
                this.Controls.Add(item); 
            } 
            this.Controls.Remove(sender as Button); 
            foreach (Button item in k.buttonList) 
            { 
                item.MouseHover += button1_MouseHover; 
 
                this.Controls.Add(item); 
            } 
 
        } 
    } 

 

67. Napravite GUI aplikaciju koja ima jedan textbox. Korisnik u njega unosi izraz 
tipa: "jedan+tri". Moguća operacija je samo zbrajanje. Aplikacija pritiskom na tipku 
"Izračunaj" u nastavku teksta kojeg je korisnik upisao ispisuje rezultat. npr. 
"jedan+tri=četiri". Mogući je unos samo brojeva od nula do pet. 

namespace WindowsFormsApplication403 

    class Zbroj 
    { 
        int n; 
        int m; 
        int suma = 0; 
        public Zbroj(int jedan, int dva) { 
            this.n = jedan; 
            this.m = dva; 
        } 
        public int zbrajanje() { 
            return suma = n + m; 
        } 
    } 

 

namespace WindowsFormsApplication403 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            string[] brojevi = this.textBox1.Text.Split('+'); 
            int n = 0; 
            int m = 0; 
 
            if (brojevi[0] == "jedan") n = 1; 
            else if (brojevi[0] == "dva") n = 2; 
            else if (brojevi[0] == "tri") n = 3; 
            else if (brojevi[0] == "četiri") n = 4; 
            else if (brojevi[0] == "pet") n = 5; 
            if (brojevi[1] == "jedan") m = 1; 
            else if (brojevi[1] == "dva") m = 2; 
            else if (brojevi[1] == "tri") m = 3; 
            else if (brojevi[1] == "četiri") m = 4; 
            else if (brojevi[1] == "pet") m = 5; 
 
            Zbroj z = new Zbroj(n, m); 
            if (z.zbrajanje() == 2) textBox1.Text += " = dva"; 
            if (z.zbrajanje() == 3) textBox1.Text += " = tri"; 
            if (z.zbrajanje() == 4) textBox1.Text += " = četiri"; 
            if (z.zbrajanje() == 5) textBox1.Text += " = pet"; 
            if (z.zbrajanje() == 6) textBox1.Text += " = šest"; 
            if (z.zbrajanje() == 7) textBox1.Text += " = sedam"; 
            if (z.zbrajanje() == 8) textBox1.Text += " = osam"; 
            if (z.zbrajanje() == 9) textBox1.Text += " = devet"; 
            if (z.zbrajanje() == 10) textBox1.Text += " = deset"; 
        } 
    } 

 

68. Napravite GUI aplikaciju koja služi kao preglednik tekstualnih datoteka. Pritiskom 
na tipku "Otvori" otvara se dijalog (FileOpenDialog) za odabir datoteke, po uspješnom 
odabiru (FileOK) treba sadržaj datoteke ispisati u textboxu. 

Pomoć: statična klasa File. 
namespace WindowsFormsApplication404 

    class Datoteke 
    { 
        public Datoteke() { } 
 
        public void otvori(Form1 forma) { 
            OpenFileDialog dialog = new OpenFileDialog(); 
            if (dialog.ShowDialog() == DialogResult.OK) 
            { 
                using(StreamReader strim = new StreamReader(dialog.FileName)){ 
                    forma.textBox1.Text = strim.ReadToEnd(); 
                 } 
            } 
        } 
    } 

namespace WindowsFormsApplication404 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
            Datoteke dat = new Datoteke(); 
            dat.otvori(this); 
        } 
    } 

69. Napravite GUI aplikaciju koja na google maps karti prikazuje putanju između dva 
grada. Popis gradova je: Zagreb, Varazdin, Split, Rijeka, Dubrovnik, Vinkovci, 
Bjelovar. Korisnik odabire gradove iz dvije combobox liste (Polazište i Odredište), 
nakon odabira odredišta na google karti se prikazuje putanja. Sintaksa URL putanje je: 

http://maps.google.com/maps?saddr=polaziste&daddr=odrediste 

Potrebno je korisnika upozoriti ako je odabran isti grad za polazište i odredište 

namespace WindowsFormsApplication405 

    class Put 
    { 
        string polaziste, odrediste; 
        public Put(string p, string o) { 
            this.polaziste = p; 
            this.odrediste = o; 
        } 
        public void putanja(Form1 forma) { 
            if (polaziste == odrediste) 
            { 
                MessageBox.Show("Isto je polazište i odredište!"); 
            } 
            else 
            { 
                Uri link = new 
Uri("http://maps.google.com/maps?saddr=polaziste&daddr=odrediste"); 
                forma.webBrowser1.Url = link; 
            } 
        } 
 
    } 

namespace WindowsFormsApplication405 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            string[] gradovi = { "Zagreb", "Varazdin", "Spit", "Rijeka", "Dubrovnik", 
"Vinkovci", "Bjelovar" }; 
            foreach (string grad in gradovi) 
            { 
                this.comboBox1.Items.Add(grad); 
                this.comboBox2.Items.Add(grad); 
            } 
        } 
 
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            string polaziste = this.comboBox1.SelectedItem.ToString(); 
            string odrediste = this.comboBox2.SelectedItem.ToString(); 
            Put p = new Put(polaziste,odrediste); 
            p.putanja(this); 
        } 
    } 

 

70. Napravite GUI aplikaciju koja prikazuje trenutno vrijeme u tekstualnom obliku 
(Label objekt) s preciznošću od 15 min. 

primjeri: 
14:34 = dva i pola sata 
15:21 = tri i četvrt sata 
15:47 = tri i tri četvrt sata 
16:05 = četiri sata 
Nije potrebno obraćati pozornost na padeže. 
 
namespace WindowsFormsApplication406 

    class Vrijeme 
    { 
        int sat, minuta; 
        string a, b; 
        public Vrijeme(int n, int m) { 
            this.sat = n; 
            this.minuta = m; 
        } 
        public string racunajVrijeme() { 
            if (minuta > 0 && minuta <= 15) b = "i jedna četvrt sata"; 
            if (minuta > 15 && minuta <= 30) b = "i dvije četvrti sata"; 
            if (minuta > 30 && minuta <= 45) b = "i tri četvrti sata"; 
            if (minuta > 45 && minuta <= 60) b = "i četiri četvrti sata"; 
 
            if (sat == 12 || sat == 24) a = "dvanaest "; 
            if (sat == 11 || sat == 23) a = "jedanaest "; 
            if (sat == 10 || sat == 22) a = "deset "; 
            if (sat == 9 || sat == 21) a = "devet "; 
            if (sat == 8 || sat == 20) a = "osam "; 
            if (sat == 7 || sat == 19) a = "sedam "; 
            if (sat == 6 || sat == 18) a = "šest "; 
            if (sat == 5 || sat == 17) a = "pet "; 
            if (sat == 4 || sat == 16) a = "četiri "; 
            if (sat == 3 || sat == 15) a = "tri "; 
            if (sat == 2 || sat == 14) a = "dva "; 
            if (sat == 1 || sat == 13) a = "jedan "; 
 
            return (a + b).ToString(); ; 
        } 
    } 

namespace WindowsFormsApplication406 

    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            var vrijeme = DateTime.Now; 
            var sat = vrijeme.Hour; 
            var minute = vrijeme.Minute; 
            string a = ""; 
            string b = ""; 
            Vrijeme v = new Vrijeme(sat, minute); 
            label1.Text = DateTime.Now +"=" + v.racunajVrijeme(); 
        } 
    } 

71. Napravite GUI aplikaciju koja služi kao preglednik slika. Korisnik u početku 
odabire direktorij te se iz direktorija prikazuju samo .jpg slike i to tako da je 
uvijek prikazana samo jedna slika. Desnim klikom miša na sliku se prikazuje sljedeća 
slika iz odabranog direktorija. Lijevim klikom miša na sliku se prikazuje prethodna 
slika iz odabranog direktorija. 
 
 
namespace WindowsFormsApplication407 

    class Slike 
    { 
        private int selectedPictureIndex; 
        private List<string> files = null; 
 
        public void otvori(Form1 forma) 
        { 
            this.files = new List<string>(); 
            forma.folderBrowserDialog1.ShowDialog(); 
            
this.files.AddRange(Directory.GetFiles(forma.folderBrowserDialog1.SelectedPath)); 
            this.files = this.files.Where(path => path.EndsWith(".jpg")).ToList(); 
            forma.pictureBox1.ImageLocation = 
this.files.ElementAt(this.selectedPictureIndex); 
        } 
 
        public void listaj(Form1 forma, MouseEventArgs e) 
        { 
            if (e.Button == MouseButtons.Right) 
            { 
                if (this.selectedPictureIndex != this.files.Count‐1) 
                { 
                    forma.pictureBox1.ImageLocation = 
this.files.ElementAt(++this.selectedPictureIndex); 
                } 
                else 
                { 
                    this.selectedPictureIndex = 0; 
                    forma.pictureBox1.ImageLocation = 
this.files.ElementAt(this.selectedPictureIndex); 
                } 
            } 
            else 
            { 
                if (this.selectedPictureIndex != 0 ) 
                { 
                    forma.pictureBox1.ImageLocation = this.files.ElementAt(‐‐
this.selectedPictureIndex); 
                } 
                else 
                { 
                    this.selectedPictureIndex = this.files.Count ‐ 1; 
                    forma.pictureBox1.ImageLocation = 
this.files.ElementAt(this.selectedPictureIndex); 
                } 
            } 
             
        } 
    } 

namespace WindowsFormsApplication407 

    public partial class Form1 : Form 
    { 
        private Slike s { get; set; } 
        public Form1() 
        { 
            InitializeComponent(); 
            this.s = new Slike(); 
            s.otvori(this); 
        } 
 
        private void pictureBox1_MouseClick(object sender, MouseEventArgs e) 
        { 
            this.s.listaj(this, e); 
        } 
    } 

Das könnte Ihnen auch gefallen