De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Visual Basic.NETPag.1 Hoofdstuk 9 - Grafische User Interface : Deel 1 Inleiding Windows Forms Event handling model Control properties en layout Labels,

Verwante presentaties


Presentatie over: "Visual Basic.NETPag.1 Hoofdstuk 9 - Grafische User Interface : Deel 1 Inleiding Windows Forms Event handling model Control properties en layout Labels,"— Transcript van de presentatie:

1 Visual Basic.NETPag.1 Hoofdstuk 9 - Grafische User Interface : Deel 1 Inleiding Windows Forms Event handling model Control properties en layout Labels, Textbox en button Groupbox en panels Checkbox en radiobuttons Picturebox Mouse event handling Keyboard event handling Validatie Creatie controls at run time

2 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Inleiding System.Windows.Application klasse beheert de applicatie at run-time System.Windows.Forms namespace bevat de controls voor het maken van een form-based applicatie. De Windows Forms klasse hierarchy Control Scrollable Control Container Control User Control Form

3 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Windows Forms Gebruik : Gebruikersinterface van het programma  bevat alle besturingselementen waar een gebruiker mee werkt (container van besturingselementen en componenten)  Kan een dialog, window of MDI Window zijn  Erft van de klasse System.Windows.Forms.Form.  Laat visual inheritance toe Code behind Windows Forms Bevat constructor – Sub New() Bevat initializer – Sub InitializeComponent() Bevat destructor – Sub Dispose()

4 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Windows Forms  Ontwerpraster kan je definiëren via Tools > Options > Windows Form Designer  Of per form ShowGrid, SnapToGrid, GridSize Knoppen Minimize, Maximize, Close Ontwerpraster systeemmenu

5 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Windows Forms Properties  Text : tekst in de titelbalk.  AcceptButton : specifieert de knop op het formulier die actief wordt als de gebruiker de ENTER-toets drukt  AutoScroll : automatisch tonen van scrollbars  CancelButton : specifieert knop die geactiveerd wordt adhv ESC  Controlbox, Maximizebox, MinimizeBox : weergave van maximaliseerknop, minimaliseerknop en systeemvak  DockPadding : stelt de ruimte in tussen de binnenrand container en docked controls  Font : lettertype (is de default voor de andere controls op form)  FormBorderStyle : de randstijl van het formulier. Bepaalt weergave van formulier en of gebruiker form al dan niet kan resizen

6 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Windows Forms  Icon : pictogram in titelbalk en bij minimalisatie formulier  MinimumSize, MaximumSize : minimum en maximum grootte van form  Localization : de positie van het formulier (top, left) tov container(bvb het scherm.)  Size : de grootte van het formulier in pixels (hoogte en breedte)  StartPosition : beginpositie formulier(centerScreen,…)  Windowstate: wordt formulier gemaximaliseerd, geminimaliseerd of normaal weergegeven bij opstart.

7 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Windows Forms Forms kent ook een Controls collectie  Voorbeeld : leegmaken van alle tekstvakken op form If Me.Controls(i).GetType Is GetType(System.Windows.Forms.Textbox) Then Me.controls(i).clear End If

8 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Windows Forms Methods  Activate : Activeert het formulier en geeft de focus  Close : sluit het formulier. (wordt ook aangeroepen als gebruiker x-knop klikt). Alle resources worden vrijgegeven (roept Dispose methode aan) Een gesloten formulier kan je niet opnieuw openen.  Hide : verwijdert formulier van scherm, maar niet uit het geheugen. Gebruik dit als je het formulier van het scherm wilt, maar de gegevens nog nodig hebt.  New : constructor. VB.NET genereert automatisch de code bij ontwerpen van formulier. Roept de methode InitializeComponent aan. Creëert de besturingselementen en initialiseert hun properties  Show : toont een modeless formulier  ShowDialog : toont een modal dialog box  Finalize : destructor. Aangeroepen door garbage collector

9 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Windows Forms Events  Activated : treedt op wanneer het formulier wordt geactiveerd  Closed : treedt op wanneer het formulier wordt gesloten.  Deactivated : treedt op wanneer het formulier de focus verliest  Load : treedt op voordat het formulier voor de eerste keer wordt geopend. Startup Form  Bepaalt welke form eerst geladen wordt bij runnen applicatie  Project > Properties > Startup Object

10 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Event-Handling Model GUI’s zijn Event driven : de loop van het programma wordt bepaald door gebeurtenissen. Event informatie wordt doorgegeven aan Event Handlers Events zijn gebaseerd op delegates  Objecten die verwijzen naar methodes  Handelen als tussenpersoon tussen objecten die events creëren (event senders) en methodes die events afhandelen (event receivers) Event multicasting  Bevat meerdere handlers voor 1 event Object A raises event EDelegate for event E Handler 1 for event E Handler 3 for event E Handler 2 for event E calls

11 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Event-Handling Model Voorbeeld van event Friend WithEvents lblOutput As System.Windows.Forms.Label 71 ' handler for click event on lblOutput 72 Private Sub lblOutput_Click(ByVal sender As Object, _ 73 ByVal e As System.EventArgs) Handles lblOutput.Click MessageBox.Show("Label was pressed") 76 End Sub ' lblOutput_Click Event receiver Sender : Verwijzing naar object dat event gegenereerd heeft Event arguments object Event-handling code toont message box Handles + naam van de event sender(s) WithEvents keyword : indien je events gegenereerd door dit object wenst af te handelen

12 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Event-Handling Model Meerdere events koppelen aan 1 event handler Private Sub btnSender1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSender1.Click, btnSender2.Click MessageBox.Show("Hello from Receiver 1") End Sub

13 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Controls Demo

14 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Control Properties en layout Besturingselementen erven van de klasse Control in de Namespace System.Windows.Forms Properties  BackColor : achtergrondskleur van een control  BackgroundImage : achtergrondafbeelding van control  Enabled : specifieert of een control gebruikt kan worden  Focused : specifieert of control op dit moment de invoerfocus heeft (read-only)  Font : lettertype van control  ForeColor : voorgrondkleur van control. Bepaalt meestal kleur van Text property

15 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Control Properties en layout  Location: specifieert de coordinaten van de linkerbovenhoek(afstand linkerkant object, afstand bovenkant object) van de control t.o.v. diens container  MinimumSize, MaximumSize : minimale en maximale grootte van form  Size : grootte : totale breedte/hoogte van control (size type)  TabIndex : de plaats van de control in de tabvolgorde van alle controls binnen een container. Kan je instellen via View > Tab Order en dan in de juiste volgorde de controls aan te klikken  TabStop : specifieert of de control de focus kan krijgen via de TAB-toets  Text : de tekst bij een control  TextAlign : alignering tekst op control (keuze uit 3 horiz. en 3 verticale posities)  Visible : specifieert of control zichtbaar is

16 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Control Properties en layout  Automatisch resizen en positioneren van controls Anchor : zorgt ervoor dat de control op een vaste afstand blijft van 1 of meerdere zijden van de container. Specifieert welke zijde van de control gebonden zijn aan de zijden van diens container Dock : specifieert tegen welke zijde van de container een control wordt gedokt. DockPadding (containers) : ruimte tussen rand en docked controls.

17 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Control Properties en layout Methodes  Focus : geeft de focus aan control  Hide : maakt control onzichtbaar (zet visible op false)  Show : maakt control zichtbaar (zet visible op true) Events  (lost)Focus events gebeuren in volgende volgorde Enter : als control de focus krijgt Leave : als je control verlaat Validating : als control valideert Validated : als validatie beëindigd is Opm : als CausesValidation property false dan bestaan Validating en Validated event niet

18 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Labels, Textboxes, Buttons Label  Gebruik : weergeven van read-only tekst. Aanpassen tekst enkel via code at runtime  Erft van klasse Control  Properties : Text : inhoud van label Borderstyle : bepaalt de randstijl van label. Fixed3D geeft een verzonken uiterlijk Autosize : bepaalt of de afmetingen van de label automatisch worden aangepast om alle inhoud weer te geven.

19 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Labels, Textboxes, Buttons Textbox  Gebruik : tekstinvoer + weergave van tekst op het scherm  Erft van klasse TextBoxBase  Properties : Text : inhoud van textbox. AcceptsReturn : Specifieert of drukken van de enter-toets een nieuwe lijn aanmaakt in een multiregel tekstvak of dat de standaardknop van de container geactiveerd wordt. PassWordChar : specifieert het teken dat moet worden gebruikt voor het maskeren van het wachtwoord Scrollbars : Specifieert welke schuifbalken er moeten worden weergegeven in de control  Events TextChanged : wanneer de tekst in control is aangepast RichTextBox : geformatteerde tekst

20 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Labels, Textboxes, Buttons TextBoxBase klasse  Gebruik : biedt de basisfunctionaliteit van controls waarin sprake is van tekstinvoer.  Klasse hierarchie : erft van de klasse Control  Properties : MaxLength : het maximimum aantal tekens dat control kan bevatten MultiLine : specifieert of de control meer dan 1 regel tekst accepteert ReadOnly : specifieert of de tekst in tekstcontrol te bewerken is. Indien True heeft textbox een grijze achtergrond SelectedText : specifieert de geselecteerde tekst SelectionLength : het aantal geselecteerde tekens in de control SelectionStart : het beginpunt van de geselecteerde tekens in control WordWrap : Specifieert of de control automatisch woorden naar het begin van de volgende regel verplaatst als ze niet meer op de regel passen. (Enkel als Multiline = True)

21 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Labels, Textboxes, Buttons  Voorbeeld : creatie multiline textbox Private Sub CreateMyMultilineTextBox() Dim textBox1 As New TextBox() textBox1.Multiline = True textBox1.ScrollBars = ScrollBars.Vertical textBox1.AcceptsReturn = True textBox1.AcceptsTab = True textBox1.WordWrap = True textBox1.Text = "Welcome!" End Sub  Voorbeeld : selecteren van de tekst in tekstvak Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter TextBox1.SelectionStart = 0 TextBox1.SelectionLength = TextBox1.Text.Length End Sub

22 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Labels, Textboxes, Buttons  Methodes AppendText : plakt de meegegeven tekst achter de bestaande tekst in de control Clear : wist alle tekst uit de control Copy : kopieert de geselecteerde tekst in de control naar het klembord Cut : kopieert de geselecteerde tekst in de control naar het klembord en wist de geselecteerde tekst Paste : vervangt de selectie in de control door de inhoud van het klembord Select : Selecteren van tekst ScrollToCaret : verplaatst de inhoud van de control zodanig dat de invoegpositie zichtbaar wordt SelectAll : selecteert alle tekst in de control

23 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Labels, Textboxes, Buttons Button  Gebruik : uitvoeren van taken bij het klikken  Erft van klasse ButtonBase Klasse ButtonBase  Erft van klasse Control  Properties : Text : tekst op knop. –ALT-toets : & voor letter plaatsen. &Print -> Alt+P, op knop verschijnt Print –& als tekst : &&  Events : Click : activeren van knop.

24 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Groupboxes en Panels Groupboxes  Gebruik : rangschikken van control binnen een kader. Vb groeperen van elkaar wederzijds uitsluitende radiobuttons. Als je een groupbox beweegt, bewegen de controls in de groupbox mee.  Toont een caption, bevat geen scrollbars  Erft van klasse Control  Properties Controls : lijst van de controls die de control bevat Text : tekst verschijnt in linkerbovenhoek van het kader.  Code Behind Me.GroupBox1.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label1, Me.Button1})

25 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Groupboxes en Panels Panel  Gebruik : Idem groupbox, maar heeft geen caption, kan wel scrollbars hebben  Erft van klasse ScrollableControl  Properties AutoScroll : Al dan niet automatisch tonen van scrollbars als panel te klein. BorderStyle : Stelt de randstijl in van de control. Fixed3D heeft een verzonken indruk. Controls : lijst van de controls die de control bevat

26 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 26 Addendum : Splitter  Gebruik : indelen van form in secties. Hierdoor kan je de afmetingen van gedockte controls aanpassen.  Erft van klasse Control  Voorbeeld Plaats Panel op form. Dock = Left Plaats Splitter op Form (dockt automatisch). Backcolor = black Plaats knop in panel. Anchor = Top, Left, Right Plaats nog een panel op form. Dock = Fill Voeg knop toe op rechter panel

27 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Checkboxes en radiobuttons Checkbox  Gebruik : Aanduiden van ja/nee of aan/uit. Selectie van meerdere opties uit een groep.  Erft van ButtonBase klasse  Properties : Appearance : weergeven als knop of als selectievakje Checked : specifieert of vakje al dan niet geselecteerd is (false of true) Checkstate : de status van het vakje –CheckState.Checked : geselecteerd –CheckState.Unchecked : niet geselecteerd –CheckState.Indeterminate : niet beschikbaar (vinkje op grijze achtergrond) Text : tekst naast checkbox

28 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Checkboxes en radiobuttons  Events Click : aan/uitvinken checkbox CheckedChanged : treedt op wanneer de waarde van de eigenschap Checked verandert CheckStateChanged : treedt op wanneer de waarde van de eigenschap CheckState verandert  Voorbeeld : tekst naast checkbox wijzigt bij een klik Private Sub CheckBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.Click If CheckBox1.Checked = True Then CheckBox1.Text = "Checked“ Else CheckBox1.Text = "Unchecked“ End If End Sub

29 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Checkboxes en radiobuttons Radiobuttons  Gebruik : lijst van keuzemogelijkheden die elkaar wederzijds uitsluiten. Met de selectie van een keuzerondje in de groep worden automatisch alle andere gedeselecteerd. Worden gegroepeerd in een container : form, groupbox of panel  Erft van klasse ButtonBase  Properties : Checked : specifieert of de control geselecteerd is Text : tekst naast keuzerondje  Methode PerformClick : simuleert een klik op de control  Events Click : indien radiobutton wordt aangevinkt CheckedChanged : wanneer de waarde Checked wordt gewijzigd

30 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag PictureBoxes Gebruik : weergeven van afbeeldingen (Bitmap, gif, jpeg, icon, metafile,…) Erft van klasse Control Properties  Borderstyle : specifieert de randstijl  Image : specifieert de afbeelding in de control (klasse Image)  SizeMode : specifieert hoe de afbeelding wordt weergegeven. Autosize : Grootte picturebox past zich aan de de grootte beeldje Normal : plaatst beeld in linker bovenhoek. Beeld wordt afgekapt als te groot. StretchImage : Image past zich aan de grootte van picturebox CenterImage : plaatst beeld in het midden. Beeld wordt afgekapt als te groot. Event :  Click : klikken van beeldje

31 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Mouse-Event handling Mouse Events  MouseDown : treedt op wanneer de muisknop wordt ingedrukt terwijl de muisaanwijzer boven de control is  MouseEnter : treedt op wanneer de muisaanwijzer de control binnengaat  MouseHover : treedt op wanneer de muisaanwijzer boven de control hangt  MouseLeave: treedt op wanneer de muisaanwijzer de control verlaat  MouseMove: treedt op wanneer de muisaanwijzer binnen de control beweegt  MouseUp: treedt op wanneer de muisaanwijzer wordt losgelaten terwijl de muisaanwijzer boven de control is  MouseWheel : treedt op wanneer aan het muiswiel wordt gedraaid als de control de focus heeft

32 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Mouse-Event handling MouseEventArgs Properties  Button Ingedrukt muisknop (right, left,middle)  Clicks Aantal mouse clicks  X X-coordinaat van event, binnen de control  Y Y-coordinaat van event, binnen de control

33 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Keyboard-Event Handling Keyboard events  Delegate KeyEventHandler, event argument : KeyEventArgs KeyDown : treedt op wanneer een toets wordt ingedrukt als de control de focus heeft. Retourneert of Alt, Shift, Control toets ingedrukt KeyUp : treedt op wanneer een toets wordt losgelaten als de control de focus heeft. Retourneert of Alt, Shift, Control toets ingedrukt  Delegate KeyPressEventHandler, event argument : KeyPressEventArgs KeyPress : treedt op wanneer er op een toets wordt gedrukt terwijl de control de focus heeft. Kan de waarde retourneren van ingedrukt ASCII karakter

34 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Keyboard-Event Handling KeyPressEventArgs Properties  KeyChar : retourneert ASCII waarde toets  Handled : duidt aan of KeyPress event is afgehandeld KeyEventArgs Properties  Alt : duidt aan of ALT-toets ingedrukt  Control : duidt aan of Control-toets ingedrukt  Shift : duidt aan of Shift-toets ingedrukt

35 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 35 Validatie input gebruikers Validatie op veld niveau Gebruik van properties Validatie op formulier niveau Gebruik van Error Provider

36 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 36 Validatie input gebruikers Validatie op veld niveau  TextChanged event Trigger : gebruiker brengt wijziging aan inhoud van control Gebruik : actie ondernemen bij wijzigen van input Voorbeeld : Private Sub txtProductcode_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtProductcode.TextChanged If txtProductcode.Text <> "" Then btnOK.Enabled = True Else btnOK.Enabled = False End If End Sub

37 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 37 Validatie input gebruikers  Keypress event : Trigger : gebruiker typt ascii character in control. Na KeyDown en voor KeyUp Gebruik : –beperken van de character input bij ingave –converteren van character input bij ingave door aanpassen waarde parameter KeyAscii Werkt niet met speciale functies : DEL, functietoetsen,... Voorbeeld : beperking invoer in tekstbox tot cijfers,niet-ASCII characters Private Sub txtProductcode_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtProductcode.KeyPress If e.KeyChar = ControlChars.Back Then 'Exit subroutine if backspace e.Handled = False ElseIf Chr(Convert.ToInt32(e.KeyChar)) "9" Then e.Handled = True 'Set character to null if out of range Microsoft.VisualBasic.Beep() End If End Sub

38 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 38 Validatie input gebruikers  Validating event : laat toe adhv code de inhoud van een tekstvak te controleren. Wordt getriggered wanneer je veld verlaat en CausesValidation Property = True e.Cancel=True zorgt ervoor dat element de focus blijft behouden Voorbeeld : Private Sub txtProductcode_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtProductcode.Validating If txtProductcode.Text = "" OrElse Not IsNumeric(txtProductcode.Text) _ OrElse txtProductcode.Text.Length <> 7 Then MessageBox.Show("productcode must be 7 positions and numeric") e.Cancel = True End If End Sub

39 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 39 Validatie input gebruikers Gebruik van textbox properties om data input te beperken  MaxLength : maximaal aantal characters die de gebruiker kan ingeven  Locked : True : gebruiker kan niet langer input textbox wijzigen. Hij kan wel scrollen in textbox en textbox focus geven

40 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 40 Validatie input gebruikers Validatie op formulier niveau Private Sub btnOK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOK.Click If txtProductcode.Text = "" OrElse Not IsNumeric(txtProductcode.Text) _ OrElse txtProductcode.Text.Length <> 7 Then MessageBox.Show("productcode must be 7 positions and numeric") txtProductcode.Focus() End If End Sub

41 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 41 Validatie input gebruikers Gebruik van Error Provider  Toont ! Icoontje naast foutieve input  Voorbeeld Private Sub txtProductcode_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtProductcode.Validating If txtProductcode.Text = "" OrElse Not IsNumeric(txtProductcode.Text) _ OrElse txtProductcode.Text.Length <> 7 Then ErrorProviderProduct.SetError(txtProductcode, "productcode must be 7 positions and numeric") e.Cancel = True Else ErrorProviderProduct.SetError(txtProductcode, "") End If End Sub

42 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 42 Addendum : creatie van controls at runtime Gebruik van control in form bestaat uit 4 stappen  Declaratie reference type variabele  Creatie object  Instellen properties  Toevoegen aan Controls collectie Voorbeeld Friend WithEvents ButtonDisplay As System.Windows.Forms.Button Private Sub AddNewControls() ButtonDisplay = New System.Windows.Forms.Button() With buttondisplay.text = "&display".location = New System.Drawing.Point(100, 332) End With Me.Controls.Add(Me.ButtonDisplay) End Sub

43 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 43 Addendum : starten, stoppen applicatie Starten van applicatie  Instellen van startup object in de project properties Beëindigen van applicatie  Application.Exit() Voorbeeld Private Sub frmMain_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing If MessageBox.Show("Are you sure?", "GUI", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then Application.Exit() Else e.Cancel = True End If End Sub

44 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 44 Addendum : overzicht Windows Form controls

45 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 45 Addendum : overzicht Windows Form controls

46 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 46 Alle icoontjes

47 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag Checkboxes en radiobuttons  Demo radiobuttons Private Sub radQuestion_CheckedChanged(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles radQuestion.CheckedChanged iconType = MessageBoxIcon.Question End Sub ' radQuestion_CheckedChanged Sub radYesNoCancel_CheckedChanged(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles radYesNoCancel.CheckedChanged buttonType = MessageBoxButtons.YesNoCancel End Sub ' radYesNoCancel_CheckedChanged

48 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag CheckBoxTest.vb 2 ' Using CheckBoxes to toggle italic and bold styles. 3 4 Public Class FrmCheckBox 5 Inherits System.Windows.Forms.Form 6 7 ' Visual Studio.NET IDE generated code 8 9 ' use Xor to toggle italic, keep other styles same 10 Private Sub chkItalic_CheckedChanged _ 11 (ByVal sender As System.Object, ByVal e As System.EventArgs) _ 12 Handles chkItalic.CheckedChanged lblOutput.Font = New Font(lblOutput.Font.Name, _ 15 lblOutput.Font.Size, lblOutput.Font.Style _ 16 Xor FontStyle.Italic) 17 End Sub ' chkItalic_CheckedChanged ' use Xor to toggle bold, keep other styles same 20 Private Sub chkBold_CheckedChanged _ 21 (ByVal sender As System.Object, ByVal e As System.EventArgs) _ 22 Handles chkBold.CheckedChanged lblOutput.Font = New Font(lblOutput.Font.Name, _ 25 lblOutput.Font.Size, lblOutput.Font.Style _ 26 Xor FontStyle.Bold) 27 End Sub ' chkBold_CheckedChanged End Class ' FrmCheckBox

49 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 49 Validatie input gebruikers Microsoft Masked Edit Control  Toevoegen aan toolbox : Project > Components > Microsoft Masked Edit Control  Gebruik : Beperken/formatteren van user input  Properties Mask : definiëren van formaat van input. Beperkt ook aantal characters frmMain.mskAccountNbr.Mask = "###-########-##" Text property : bevat de data die gebruiker heeft ingegeven, inclusief mask –Als gebruiker rekeningnummer ingeeft, wordt geretourneerd ClipText property : bevat de data die gebruiker heeft ingegeven, exclusief mask

50 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 50 Validatie input gebruikers  ValidationError Trigger : inputbox ontvangt een ongeldige input van gebruiker, of gebruiker typt niet alle vereiste characters in 2 parameters –Invalidtext : ongeldige string –StartPosition : positie ongeldige string Voorbeeld Sub mskAccountNbr_ValidationError (InvalidText As String, _ StartPosition As Integer) If StartPosition = mskAccountNbr.MaxLength Then Msgbox "Limit 13 digits" Else Msgbox "Digits Only" End If End Sub

51 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 51 Validatie input gebruikers  Keyup/down event : Trigger : activiteit op toetsenbord Gebruik : –Actie ondernemen bij selectie van functietoetsen –Actie ondernemen bij selectie van shift, alt, ctrl toets Voorbeeld : Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then MsgBox "You pressed F1!" End If End Sub

52 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 52 Addendum : doorlopen van controls Sub ShowType(ByVal Ctrl As Object) 'Use the TypeName function to display the class name as text. MsgBox(TypeName(Ctrl)) 'Use the TypeOf function to determine the object's type. If TypeOf Ctrl Is Button Then MsgBox("The control is a button.") ElseIf TypeOf Ctrl Is CheckBox Then MsgBox("The control is a check box.") Else MsgBox("The object is some other type of control.") End If End Sub

53 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 53 Select case(ctype(sender, button).name  Case “buttonFirrst” ...end select

54 Hoofdstuk 9 : Grafische User Interface : Deel 1Visual Basic.NETPag. 54 Addendum : casting and typecontrol Dim el as Control For Each el In Me.Controls If TypeOf (el) Is Label Then el.BackColor = System.Drawing.Color.LightGray End If Next Ipv TypeOf mag je ook gebruiken : if el Is Label Casting : Dim el as Control Dim newLabel as Label newLabel=ctype(el,Label)


Download ppt "Visual Basic.NETPag.1 Hoofdstuk 9 - Grafische User Interface : Deel 1 Inleiding Windows Forms Event handling model Control properties en layout Labels,"

Verwante presentaties


Ads door Google