De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Windows-applicatie using System.Windows.Forms; using System.Drawing;

Verwante presentaties


Presentatie over: "Windows-applicatie using System.Windows.Forms; using System.Drawing;"— Transcript van de presentatie:

1 Windows-applicatie using System.Windows.Forms; using System.Drawing;
class HalloWin1 { static void Main ( ) { } using System.Windows.Forms; using System.Drawing; declaratie en toekenning van een variabele met type Form Form scherm; scherm = new Form( ); scherm.Text = "Hallo"; scherm.BackColor = Color.Yellow; scherm.Size = new Size(200,100); aanpassen van properties Application.Run(scherm); gebruik van de variabele bij aanroep van Run

2 Windows-applicatie class HalloWin2 { static void Main ( ) { }
HalloForm scherm; scherm = new HalloForm( ); Application.Run(scherm); Form scherm; scherm = new Form( ); Application.Run(scherm); aanroep van de constructor methode subklasse is een gespecialiseerde versie class HalloForm { } : Form definitie van de constructor methode public HalloForm( ) { } this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100);

3 Windows-applicatie class HalloForm { : Form public HalloForm( ) {
} : Form public HalloForm( ) { } this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100); Label groet; groet = new Label( ); groet.Text = "Hallo allemaal"; groet.Location = new Point(30,20); this.Controls.Add(groet);

4 Methode-naam, maar geen aanroep!
Windows-applicatie class HalloForm { } : Form public HalloForm( ) { } this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100); this.Paint += this.teken; “Event”-property Methode-naam, maar geen aanroep!

5 Windows-applicatie class HalloForm { } : Form public HalloForm( ) { }
this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100); this.Paint += this.teken; } void teken( { Object o, PaintEventArgs pea ) pea. Graphics. DrawString( ); "Hallo!" , new Font("Tahoma", 30) , Brushes.Blue , 10, 10

6 methoden uit de klasse Graphics
Methode-aanroep void TekenScherm(object o, PaintEventArgs pea) { Graphics gr; gr = pea.Graphics; gr . DrawString ("Hallo!", new Font("Tahoma", 30) , Brushes.Blue, 10, 20 ); gr . FillRectangle (Brushes.Red, 10,20, 50,60 ); gr . DrawLine (Pens.Black, 70,30, 20,20 ); } methoden uit de klasse Graphics

7 Static gewone methoden static methoden static Bewerken een object
Bewerken geen object Aanroep: object . methode (…) Aanroep: klasse . methode (…) In de body van de definitie: this is dat object In de body van de definitie: this bestaat niet Voorbeeld: Voorbeeld: Controls.Add(groet); Application.Run(scherm); Constructormethoden zijn nooit static Main is altijd static

8 Expressies Expressie: stukje programma met een waarde
Gebruik van expressies: Rechterkant van een toekennings-opdracht Parameter van een methode x3 = x2+40 ; gr.FillRectangle(Brushes.Blue , 0, y1+balk, x1, y2-(y1+balk) ) ;

9 Syntax van expressies expressie getal ” ” symbool variabele expressie
operator expressie ( expressie )

10 Het type van een expressie
98765 "Hallo" breedte "Hallo " + naam naam.Length "Hallo " + naam.Length Brushes.Black int type klasse naam int string string int int string int string Brush

11 Het type van een expressie
Brushes.Black Brush Pens.Blue Pen new Form() Form new Font("Arial",10) Font new Pen(Brushes.Red, 5) Pen new HatchBrush(HatchStyle.ZigZag , Color.Blue, Color.Red) Brush Color.FromArgb new Color(255, 128, 0) Color

12 Kleuren (0,255,0) (255,0,0) Color. FromArgb(...) (0,0,255) (0,0,0)
(255,255,0) Color. FromArgb(...) (255,255,255) (0,255,255) (255,0,255) (0,0,255) (0,0,0)

13 Mengkleuren Color.FromArgb(255, 0, 0) Color.FromArgb(255, 64, 0)

14 -syntax expressie getal ” ” symbool variabele expressie operator
( expressie ) ( ) , expressie new klasse naam klasse naam methode object expressie . property naam this

15 Hoofdstuk 3.6 Methode- definities

16 Aanroep van een methode voert opdrachten uit in de body daarvan
Nieuwe methoden Methode: groepje opdrachten met een naam private void tekenHuis(…) { … . DrawRectangle (…); … . DrawLine (…); … . DrawLine (…); } public void TekenScherm (object o, PaintEventArgs pea) { … . tekenHuis (…); … . tekenHuis (…); … . tekenHuis (…); } Aanroep van een methode voert opdrachten uit in de body daarvan

17 en bij aanroep meegeven
Parameters private void tekenHuis (…) { (Graphics gr, … ) gr … . DrawRectangle (…); … . DrawLine (…); … . DrawLine (…); parameter declareren } public void TekenScherm (object o, PaintEventArgs pea) { en bij aanroep meegeven … . tekenHuis (…); … . tekenHuis (…); … . tekenHuis (…); (pea.Graphics, …); }

18 this: het object dat TekenScherm ook al onder handen heeft
Het object this class Huizen : Form { } private void tekenHuis (Graphics gr, …) { gr . DrawRectangle (…); gr . DrawLine (…); gr . DrawLine (…); } public void TekenScherm (object o, PaintEventArgs pea) { this: het object dat TekenScherm ook al onder handen heeft … . tekenHuis (pea.Graphics, …); … . tekenHuis (pea.Graphics, …); … . tekenHuis (pea.Graphics, …); this this this }

19 teken driemaal een net iets ander huis
Meer parameters teken driemaal een net iets ander huis nog meer parameters! public void TekenScherm (object o, PaintEventArgs pea) { this . tekenHuis (pea.Graphics, …); this . tekenHuis (pea.Graphics, …); this . tekenHuis (pea.Graphics, …); 20, 100, 40); 70, 100, 40); 120, 100, 60); }

20 Meer parameters private void tekenHuis (Graphics gr, … ) {
int x, int y, int br) int tx, ty; tx = x + br/2; ty = y – br – br/2; (tx,ty) gr.DrawRect (pen, … ); gr.DrawLine (pen, … ); gr.DrawLine (pen, … ); x, y-br, br, br x, y-br, tx, ty tx, ty, x+br, y-br } (x,y) br public void TekenScherm (object o, PaintEventArgs pea) { this . tekenHuis (pea.Graphics, …); this . tekenHuis (pea.Graphics, …); this . tekenHuis (pea.Graphics, …); 20, 100, 40); 70, 100, 40); 120, 100, 60); }

21 Huizen... int afdak = breedte / 6;
Pen pen = new Pen(Color.DarkRed, 3); Brush br = new HatchBrush(HatchStyle.HorizontalBrick , Color.Silver, Color.Red );

22 Communicatie met methoden
Parameters : aanroeper geeft waarde door aan de methode Methode-resultaat : methode geeft waarde terug aan de aanroeper net zoals een wiskundige functie

23 Hoofdstuk 4 Objecten en methoden

24 Variabelen Variabele: geheugenplaats met een naam
Declaratie: aangifte van het type van de variabele int x, y; x y 20 Toekenningsopdracht: variabele krijgt waarde x = 20;

25 Toekenningsopdrachten
int x, y; x = 20 ; x y 20 50 25 26 Expressie aan de rechterkant mag andere variabelen gebruiken y = x + 5 ; Vorige waarde gaat verloren x = y * 2 ; y = y + 1 ;

26 Declaratie en toekenningen
Eén keer declarareren Mogelijk meerdere toekenningen Declaratie en eerste toekenning int x; int x = 100; x = 100; x = 100; x = 250; x = x + 1; x = 2 * x;

27 Type van variabelen int geheel getal double benadering van reëel getal
int x; double d; x 10 3 d 10.0 int geheel getal double benadering van reëel getal x = 10 ; d = ; d = 10 ; x = x / 3 ; d = d / 3 ;

28 Const declaratie const double Pi = 3.1415926535897938;
Latere toekenningen verboden void PrintOppervlak ( double r ) { Console.WriteLine( Pi * r * r ); } Pi = 4.0;

29 Standaardtypes gehele getallen met een decimale punt 1 byte sbyte
± 127 byte 0..255 28-1 2 bytes short ± 32767 ushort 216-1 4 bytes int ± 2 miljard uint 0..4 miljard 232-1 8 bytes long ± 1018 ulong 264-1 met een decimale punt 4 bytes float 7 cijfers, afgerond, ≤1038 8 bytes double 15 cijfers, afgerond, ≤10300 16 bytes decimal 28 cijfers, exact, ≤1028

30 Constanten geheel getal (kleinst passende) met een decimale punt
string hexadecimaal 137 –25 0x1A 0xFF 26 255 0.5 –273.15 6.02E23 1E3 3E–11 1000 "Hallo!" "A" "" "een \"citaat\"" "\n" "\\"

31 Typering van operatoren
2 + 5 3 * 4 5 / 2 Beide argumenten geheel  resultaatwaarde geheel 0.5 * 7 10 / * 2.5 Minstens één floating  resultaatwaarde floating bij + operator ook: Minstens één string  resultaatwaarde string “in” + “fo” “€” + bedrag

32 Objecten Object: groepje variabelen dat bij elkaar hoort 100 w 20 h h
! 255 r g b 3 aantal 199.95 prijs

33 Objecten "vraag niet hoe het kan... " Om een object te gebruiken, hoef je niet te weten uit welke variabelen het object bestaat "maar profiteer ervan! " Je hoeft alleen te weten welke methoden er zijn welke properties er zijn

34 Methoden bewerken een object
gr . DrawLine ( pen, 10, 10, 30, 30) ; methode gebruikt het object scherm.Controls . Add ( new Label() ); methode verandert het object blijvend Console . WriteLine( "Hallo", ... ); static methode heeft geen object onderhanden

35 Programma en Geheugen opdrachten variabelen methoden objecten klasse
veranderen zijn gegroepeerd in zijn gegroepeerd in methoden objecten bewerken zijn gegroepeerd in hebben als type klasse klasse klasse

36 Hoofdstuk 5 Interactie

37 Controls Form Label Label TextBox Button Label

38 Windows-applicatie class HalloWin2 { static void Main ( ) { }
HalloForm scherm; scherm = new HalloForm( ); Application.Run(scherm); Form scherm; scherm = new Form( ); Application.Run(scherm); class HalloForm { } : Form public HalloForm( ) { } this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100);

39 zonder rand en titelbalk
CirkelCalc class Program { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); Application.Run(new Scherm()); class Scherm { } : Form public Scherm( ) { } this.Text = "CirkelCalc"; this.ClientSize = new Size(240, 60); zonder rand en titelbalk

40 CirkelCalc constructor
class Scherm : Form { public Scherm( ) { this.Text = "CirkelCalc"; this.ClientSize = new Size(240, 60); Label tekst, uitvoer; Button knop; TextBox invoer; tekst = new Label(); knop = new Button(); invoer=new Label(); uitvoer = new TextBox(); tekst.Location = new Point(65,10); tekst.Size = new Size(35,20); tekst.Text = "straal: "; // enzovoorts... knop.Click += this.bereken; this.Controls . Add(tekst); // enzovoorts... } Event-property afhandelingsmethode }

41 CirkelCalc klik-afhandeling
class Scherm : Form { "leeg" resultaat public void bereken(object o, EventArgs ea) { double straal = double.Parse( invoer.Text ) ; double opp = this.oppervlakte(straal); uitvoer.Text = opp.ToString(); methode met een resultaat } type van het resultaat private double oppervlakte(double x) { } return Math.PI * x * x; waarde van het resultaat }

42 gedeclareerd in een andere methode!
CirkelCalc gedeclareerd in een andere methode! class Scherm : Form { public void bereken(...) { ...Parse(invoer.Text); public Scherm( ) { ...this.oppervlakte(...)... Button knop; TextBox invoer; Label tekst, uitvoer; uitvoer.Text = ... } ...new...Size...Add... private double oppervlakte(...) { knop.Click = this.bereken; return ... } } }

43 CirkelCalc mag je gebruiken in alle methodes
gedeclareerd los in de klasse class Scherm : Form { TextBox invoer; Label uitvoer; public void bereken(...) { ...Parse(invoer.Text); public Scherm( ) { Scherm ......this .oppervlakte(...)... Button knop; TextBox invoer; Label tekst, uitvoer; uitvoer.Text = ... } static ...new...Size...Add... private double oppervlakte(...) { knop.Click = this.bereken; return ... } } heeft de variabelen niet nodig }


Download ppt "Windows-applicatie using System.Windows.Forms; using System.Drawing;"

Verwante presentaties


Ads door Google