studentski servis Login | Gost nalog
BRZI LINKOVI
BUDITE OBAVEŠTENI

Unesite podatke i svakih 15 dana na Vašu adresu stizaće
ITS studentske novosti

STUDENTI O ITS-u
Petar GnjidićZa ITS sam se odlučio zbog plana i programa koji nudi. Prilično sam bio upućen u programiranje i baze podataka pre nego što sam došao na ITS. Znanje koje sam ovde stekao sada koristim pri izradi studentskog servisa za „kačenje“ predavanja. Sama atmosfera u školi je krajnje prijatna i prijateljska. Upoznao sam dosta zanimljivih ljudi. Polaganje ispita je usklađeno sa samom prirodom ispita pa postoji preko zadataka ili u TLS. ITS bih preporučio svima koji žele da upotpune svoje znanje i da ono što nauče danas, mogu sutra da praktično iskoriste. To znam po sebi .

Pogledajte ostale utiske studenata>>>
PETAR GNJIDIĆ, DIPLOMAC

PROGRAMSKI JEZIK C# - 21 - WEBBROWSER MAIL

Zadatak:
Napisati program u jeziku C# sa WebBrowser kontrolom, te da ima mogućnost kretanja napred i nazad već otvarane stranice u kontroli, štampu sadržaja kontrole na podrazumevanom štampaču, dugme za navigaciju koje otvara stranicu iz textBox kontrole, te 2 dugmeta za posetu WebMail servisima i popunjavanje login polja na istim. Pri kliku na dugmad za popunjavanje polja, potrebno je da se pokrene druga forma, te da pita za lozinku pristupa programu (ne webMail lozinku). Mi smo za primer postavili Gmail i ITS dugme. Pri pokretanju programa, potrebno je da se otvara neka stranica (npr. http://www.its.edu.rs/). Program treba izgledati kao na slici ispod:


Slika 21.1 - izgled programa

Svojstva komponenti (svojstva koja nisu navedena u listi ispod su ostavljena kao podrazumevana svojstva koje napravi VS 2008):

  • WebBrowser
    • Name: wbBrowser, Anchor: Top, Bottom, Left, Right, Location: 0; 109, MinimumSize: 20; 20, Size: 561; 354
  • Button
    • Name: buttonNazad, Locaton: 12;12, Text: Nazad, Size: 75; 23
    • Name: buttonNapred, Locaton: 93;12, Text: Napred, Size: 75; 23
    • Name: buttonStampaj, Locaton: 174;12, Text: Stampaj, Size: 75; 23
    • Name: buttonNavigacija, Locaton: 156; 68, Text: Navigacija, Size: 93; 23
    • Name: buttonGmail, Locauton: 7; 20, Text: Gmail, Size: 132; 23
    • Name: buttonPgmail, Locauton: 7; 57, Text: Popuni Gmail, Size: 132; 23
    • Name: buttonIts, Locauton: 7; 20, Text: ITS, Size: 132; 23
    • Name: buttonPits, Locauton: 7; 57, Text: Popuni ITS, Size: 132; 23
    • Name: btnOK, Location: 58; 51, Text: OK, Size: 75; 23, DialogResult: OK
  • TextBox
    • Name: edtNavigacija, Location: 12; 70, Size: 138; 20
    • Name: edtSifra, Location: 12; 25, Size: 172; 20
  • Label
    • Name: lblSifra, AutoSize: True, Location: 20; 9, Size: 144; 13, Text: Unesite sifru za pristup Mailu:
  • Form
    • Name: frmGlavna, AutoScaleMode: Font, MinimumSize: 580; 500, Size: 580; 500, StartPosition: CenterScreen, Text: WebMail
    • Name: frmLogovanje, AutoScaleMode: Font, MinimumSize: 209; 117, MaximumSize: 209; 117, Size: 209; 117, StartPosition: CenterParent, Text: Logovanje, TopMost: True, AcceptButton: btnOK

Rešenje:
Napraviti Windows Formu kao na slici (Slika 21.1) iz postavke zadatka. Nakon toga, napraviti još jednu formu pod imenom frmLogovanje kao na slici (Slika: 21.2). (Na obe forme koristiti komponente i svojstva navedene u listi iznad).

 
Slika 21.2 - Izgled forme frmLogovanje

Potrebno je dodati globalnu promenljivu log koja je tipa frmLogovanje. To ćete uraditi ukoliko dopišete public frmLogovanje log odmah iznad osnovnog konstruktora kojeg Vam je VS 2008 automatski dodao (Pulic frmGlavna()) te u glavni kostruktor dodati jednu liniju koda kojom ćete povezati formu frmLogovanje za promenljivu log tako da glavni konstruktor forme frmGlavna treba izgledati ovako:

InitializeComponent();
log = new frmLogovanje();

Kod za Form Load handler (Akciju za Form Load dodajete duplim klikom na naslovnu traku forme):

edtNavigacija.Text = "http://www.its.edu.rs/";
buttonNavigacija.PerformClick();

Kod za buttonNazad dugme, Click event (akciju za Click event buttonNazad dugmeta dodajete duplim klikom na kontrolu sa forme):

wbBrowser.GoBack();

Kod za buttonNapred dugme, Click event (akciju za Click event buttonNapred dugmeta dodajete duplim klikom na kontrolu sa forme):

wbBrowser.GoForward(); 

Kod za buttonStampaj dugme, Click event (akciju za Click event buttonStampaj dugmeta dodajete duplim klikom na kontrolu sa forme):

wbBrowser.Print(); 

Kod za buttonNavigacija dugme, Click event (akciju za Click event buttonNavigacija dugmeta dodajete duplim klikom na kontrolu sa forme):

wbBrowser.Navigate(edtNavigacija.Text);

Kod za buttonGmail dugme, Click event (akciju za Click event buttonGmail dugmeta dodajete duplim klikom na kontrolu sa forme):

edtNavigacija.Text = "http://www.gmail.com/";
buttonNavigacija.PerformClick();

Kod za buttonIts dugme, Click event (akciju za Click event buttonIts dugmeta dodajete duplim klikom na kontrolu sa forme):

edtNavigacija.Text = "https://www.google.com/a/its.edu.rs/";
buttonNavigacija.PerformClick();

Kod za buttonPgmail dugme, Click event (akciju za Click event buttonPgmail dugmeta dodajete duplim klikom na kontrolu sa forme):

log.Sifra.Select();
if (log.ShowDialog() == DialogResult.OK)
{
   if (log.Sifra.Text == "ITS")
   {
      HtmlDocument doc = wbBrowser.Document;
      if (doc != null)
      {
         HtmlElement mail = doc.GetElementById("Email");
         HtmlElement sifra = doc.GetElementById("Passwd");

         try
         {
            if (mail != null) mail.InnerText = "ITS.Test";
            if (sifra != null) sifra.InnerText = "ITS";
            log.Sifra.Text = "";
         }
         catch (Exception)
         {
            MessageBox.Show("Nije moguce popuniti polja", "Greska", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
      }
   }
   else MessageBox.Show("Neispravna Sifra");
}

Kod za buttonPits dugme, Click event (akciju za Click event buttonPits dugmeta dodajete duplim klikom na kontrolu sa forme):

log.Sifra.Select();
if (log.ShowDialog() == DialogResult.OK)
{
   if (log.Sifra.Text == "ITS")
   {
      HtmlDocument doc = wbBrowser.Document;
      if (doc != null)
      {
         HtmlElement mail = doc.GetElementById("Email");
         HtmlElement sifra = doc.GetElementById("Passwd");

         try
         {
            if (mail != null) mail.InnerText = "ITS.Test";
            if (sifra != null) sifra.InnerText = "ITS";
            log.Sifra.Text = "";
         }
         catch (Exception)
         {
            MessageBox.Show("Nije moguce popuniti polja", "Greska", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
      }
   }
   else MessageBox.Show("Neispravna Sifra");
}

Kod za edtNavigacija tekst polje, KeyPress event (akciju za KeyPress event edtNavigacija tekst polja dodajete kada na formi izaberete kontrolu, te odete u Events deo Properties prozora i uradite dupli klik na KeyPress deo):

if (e.KeyChar == Convert.ToChar(Keys.Enter) || e.KeyChar == Convert.ToChar(Keys.Return))
{
   buttonNavigacija.PerformClick();
}

Da bi program bio kompletan, morate napraviti property kojim ćete omogućiti da frmGlavna pristupit tekst polju edtSifra forme frmLogovanje:

public TextBox Sifra
{
   get
   {
      return edtSifra;
   }
}

Kompletno resenje zadatka mozete da preuzmete ovde.



Upisni rok je otvoren!

Upis generacije 2012/2013 je u toku. Prijavite se na vreme >>

ITS TV
Video obilazak škole
ITS školski kanal>>> Profesori i nastavni tim

ITS nastavnički kanal>>>

Programerski tim

ITS programerski kanal>>>

PITAMO VAS
Najbolje IT zanimanje je:

web dizajner
sistem administrator
IT konsultant
programer
DB dizajner

 
garancija