Presentation is loading. Please wait.

Presentation is loading. Please wait.

 2002 Prentice Hall. All rights reserved. 1 Chapter 12 – Graphical User Interface Concepts: Part 1 Outline 12.1Introduction 12.2 Windows Forms 12.3 Event-Handling.

Similar presentations


Presentation on theme: " 2002 Prentice Hall. All rights reserved. 1 Chapter 12 – Graphical User Interface Concepts: Part 1 Outline 12.1Introduction 12.2 Windows Forms 12.3 Event-Handling."— Presentation transcript:

1  2002 Prentice Hall. All rights reserved. 1 Chapter 12 – Graphical User Interface Concepts: Part 1 Outline 12.1Introduction 12.2 Windows Forms 12.3 Event-Handling Model 12.3.1 Basic Event Handling 12.4 Control Properties and Layout 12.5 Label s, TextBoxes and Buttons 12.6 GroupBox es and Panel s 12.7 CheckBox es and RadioButton s 12.8 PictureBox es 12.9 Mouse-Event Handling 12.10 Keyboard-Event Handling

2  2002 Prentice Hall. All rights reserved. 2 12.1 Introduction GUI –Graphical User Interface Allows visual interaction Event driven –User interaction generates events Distinctive “look” and “feel” Learn new applications more quickly

3  2002 Prentice Hall. All rights reserved. 3 12.1Introduction Fig. 12.1Sample Internet Explorer window with GUI components.

4  2002 Prentice Hall. All rights reserved. 4 12.1Introduction GUI Components –Objects with which user interacts Event generation –Contained in Toolbox Control –Component with graphical representation

5  2002 Prentice Hall. All rights reserved. 5 12.1Introduction Fig. 12.2Some basic GUI components.

6  2002 Prentice Hall. All rights reserved. 6 12.2 Windows Forms Form –Graphical element used to create GUIs –Click and drag component from Toolbox Code generated –Component is instantiated –Basic properties are set

7  2002 Prentice Hall. All rights reserved. 7 12.2 Windows Forms Fig. 12.3Components and controls for Windows Forms.

8  2002 Prentice Hall. All rights reserved. 8 12.2 Windows Forms Fig. 12.4Common Form properties and events.

9  2002 Prentice Hall. All rights reserved. 9 12.3 Event-Handling Model Event handler –Method called by event –Receives event information Notion of delegates –Objects that reference methods –Act as intermediaries between objects creating events and methods handling events Event multicasting –Inclusion of multiple handlers for one event

10  2002 Prentice Hall. All rights reserved. 10 12.3 Event-Handling Model Fig. 12.5Event-handling model using delegates. 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  2002 Prentice Hall. All rights reserved. 11 12.3 Event-Handling Model Fig. 12.6Events section of the Properties window.

12  2002 Prentice Hall. All rights reserved. Outline 12 SimpleEvenExampl e.vb 1 ' Fig. 12.7: SimpleEventExample.vb 2 ' Program demonstrating simple event handler. 3 4 Public Class FrmSimple 5 Inherits System.Windows.Forms.Form 6 7 #Region " Windows Form Designer generated code " 8 9 Public Sub New() 10 MyBase.New() 11 12 ' This call is required by the Windows Form Designer. 13 InitializeComponent() 14 15 16 ' Add any initialization after the 17 ' InitializeComponent() call 18 End Sub ' New 19 20 ' Form overrides dispose to clean up the component list. 21 Protected Overloads Overrides Sub Dispose( _ 22 ByVal disposing As Boolean) 23 24 If disposing Then 25 26 If Not (components Is Nothing) Then 27 components.Dispose() 28 End If 29 30 End If 31 32 MyBase.Dispose(disposing) 33 End Sub ' Dispose 34 35 Friend WithEvents lblOutput As System.Windows.Forms.Label Beginning of Visual Studio generated code

13  2002 Prentice Hall. All rights reserved. Outline 13 SimpleEvenExampl e.vb 36 37 ' Required by the Windows Form Designer 38 Private components As System.ComponentModel.Container 39 40 ' NOTE: The following procedure is required by 41 ' the Windows Form Designer. 42 ' It can be modified using the Windows Form Designer. 43 ' Do not modify it using the code editor. 44 _ 45 Private Sub InitializeComponent() 46 Me.lblOutput = New System.Windows.Forms.Label() 47 Me.SuspendLayout() 48 ' 49 'lblOutput 50 ' 51 Me.lblOutput.Location = New System.Drawing.Point(32, 48) 52 Me.lblOutput.Name = "lblOutput" 53 Me.lblOutput.Size = New System.Drawing.Size(168, 40) 54 Me.lblOutput.TabIndex = 0 55 Me.lblOutput.Text = "Click Me!" 56 ' 57 'FrmSimple 58 ' 59 Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) 60 Me.ClientSize = New System.Drawing.Size(272, 237) 61 Me.Controls.AddRange( _ 62 New System.Windows.Forms.Control() {Me.lblOutput}) 63 64 Me.Name = "FrmSimple" 65 Me.Text = "SimpleEventExample" 66 Me.ResumeLayout(False) 67 End Sub 68 69 #End Region 70 End of Visual Studio generated code

14  2002 Prentice Hall. All rights reserved. Outline 14 SimpleEvenExampl e.vb 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 74 75 MessageBox.Show("Label was pressed") 76 End Sub ' lblOutput_Click 77 78 End Class ' FrmSimpleExample Name of the handler followed by an underscore and the event name Reference to the object that generated the event Event arguments object Event-handling code displays a message box

15  2002 Prentice Hall. All rights reserved. 15 12.3 Event-Handling Model Fig. 12.8List of Form events.

16  2002 Prentice Hall. All rights reserved. 16 12.3 Event-Handling Model Fig. 12.9Details of Click event.

17  2002 Prentice Hall. All rights reserved. 17 12.4 Control Properties and Layout Fig. 12.10Class Control properties and methods.

18  2002 Prentice Hall. All rights reserved. 18 12.4 Control Properties and Layout Method Focus –Transfers focus to control Active control Method Hide –Hides control Visible property is false Method Show –Shows control Visible property is true

19  2002 Prentice Hall. All rights reserved. 19 12.4 Control Properties and Layout Anchoring –Specifying layout of controls within container –Controls remain fixed distances from inside of container Docking –Sets dimensions of control to dimensions of container at all times

20  2002 Prentice Hall. All rights reserved. 20 12.4 Control Properties and Layout Fig. 12.11Anchoring demonstration.

21  2002 Prentice Hall. All rights reserved. 21 12.4 Control Properties and Layout Fig. 12.12Manipulating the Anchor property of a control.

22  2002 Prentice Hall. All rights reserved. 22 12.4 Control Properties and Layout Fig. 12.13Docking demonstration.

23  2002 Prentice Hall. All rights reserved. 23 12.4 Control Properties and Layout Fig. 12.14Control layout properties.

24  2002 Prentice Hall. All rights reserved. 24 12.5 Labels, TextBoxes and Buttons Label –Displays read-only text Textbox –Displays text –Text input by user Button –Click to trigger action

25  2002 Prentice Hall. All rights reserved. 25 12.5 Labels, TextBoxes and Buttons Fig. 12.15Common Label properties.

26  2002 Prentice Hall. All rights reserved. 26 12.5 Labels, TextBoxes and Buttons Fig. 12.16TextBox properties and events.

27  2002 Prentice Hall. All rights reserved. 27 12.5 Labels, TextBoxes and Buttons Fig. 12.17Button properties and events.

28  2002 Prentice Hall. All rights reserved. Outline 28 LabelTextBoxButt onTest.vb 1 ' Fig. 12.18: LabelTextBoxButtonTest.vb 2 ' Using a textbox, label and button to display the hidden 3 ' text in a password box. 4 5 Public Class FrmButtonTest 6 Inherits System.Windows.Forms.Form 7 8 ' Visual Studio.NET generated code 9 10 ' handles cmdShow_Click events 11 Private Sub cmdShow_Click(ByVal sender As System.Object, _ 12 ByVal e As System.EventArgs) Handles cmdShow.Click 13 14 lblOutput.Text = txtInput.Text 15 End Sub ' cmdShow_Click 16 17 End Class ' FrmButtonTest The label’s text property is set equal to the value of the textbox’s text property, which was entered by the user

29  2002 Prentice Hall. All rights reserved. 29 12.6 GroupBoxes and Panels Groupboxes –Arrange controls on a GUI –Can display captions –Do not include scrollbars Panels –Arrange controls on a GUI –Cannot display captions –Include scrollbars

30  2002 Prentice Hall. All rights reserved. 30 12.6 GroupBoxes and Panels Fig. 12.19GroupBox properties. Fig. 12.20Panel properties.

31  2002 Prentice Hall. All rights reserved. 31 12.6 GroupBoxes and Panels Fig. 12.21Creating a Panel with scrollbars.

32  2002 Prentice Hall. All rights reserved. Outline 32 GroupBoxPanelExa mple.vb 1 ' Fig. 12.22: GroupBoxPanelExample.vb 2 ' Using GroupBoxes and Panels to hold buttons. 3 4 Public Class FrmGroupBox 5 Inherits System.Windows.Forms.Form 6 7 ' Visual Studio.NET generated code 8 9 ' event handlers to change lblMessage 10 Private Sub cmdHi_Click(ByVal sender As System.Object, _ 11 ByVal e As System.EventArgs) Handles cmdHi.Click 12 13 lblMessage.Text = "Hi pressed" 14 End Sub ' cmdHi_Click 15 16 ' bye button handler 17 Private Sub cmdBye_Click(ByVal sender As System.Object, _ 18 ByVal e As System.EventArgs) Handles cmdBye.Click 19 20 lblMessage.Text = "Bye pressed" 21 End Sub ' cmdBye_Click 22 23 ' far left button handler 24 Private Sub cmdLeft_Click(ByVal sender As System.Object, _ 25 ByVal e As System.EventArgs) Handles cmdLeft.Click 26 27 lblMessage.Text = "Far left pressed" 28 End Sub ' cmdLeft_Click 29 Event handling code displays the appropriate text property for lbl.Message

33  2002 Prentice Hall. All rights reserved. Outline 33 GroupBoxPanelExa mple.vb 30 ' far right button handler 31 Private Sub cmdRight_Click(ByVal sender As System.Object, _ 32 ByVal e As System.EventArgs) Handles cmdRight.Click 33 34 lblMessage.Text = "Far right pressed" 35 End Sub ' cmdRight_Click 36 37 End Class ' FrmGroupBox

34  2002 Prentice Hall. All rights reserved. 34 12.7 CheckBoxes and RadioButtons State Buttons –CheckBoxes Any number can be checked at a time –RadioButtons Usually organized in groups and only one checked at a time

35  2002 Prentice Hall. All rights reserved. 35 12.7 CheckBoxes and RadioButtons Fig. 12.23CheckBox properties and events.

36  2002 Prentice Hall. All rights reserved. Outline 36 CheckBoxTest.vb 1 ' Fig. 12.24: 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 13 14 lblOutput.Font = New Font(lblOutput.Font.Name, _ 15 lblOutput.Font.Size, lblOutput.Font.Style _ 16 Xor FontStyle.Italic) 17 End Sub ' chkItalic_CheckedChanged 18 19 ' 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 23 24 lblOutput.Font = New Font(lblOutput.Font.Name, _ 25 lblOutput.Font.Size, lblOutput.Font.Style _ 26 Xor FontStyle.Bold) 27 End Sub ' chkBold_CheckedChanged 28 29 End Class ' FrmCheckBox

37  2002 Prentice Hall. All rights reserved. Outline 37 CheckBoxTest.vb

38  2002 Prentice Hall. All rights reserved. 38 12.7 CheckBoxes and RadioButtons Fig. 12.25RadioButton properties and events. 訂正 : p502 上方 CheckedChanged 段之第二行, 將 “Textbox” 改為 “RadioButton”

39  2002 Prentice Hall. All rights reserved. Outline 39 RadioButtonTest. vb 1 ' Fig. 12.26: RadioButtonTest.vb 2 ' Using RadioButtons to set message window options. 3 4 Public Class FrmRadioButton 5 Inherits System.Windows.Forms.Form 6 7 Private iconType As MessageBoxIcon 8 Private buttonType As MessageBoxButtons 9 10 ' Visual Studio.NET generated code 11 12 ' display message box and obtain dialogue button clicked 13 Private Sub cmdDisplay_Click(ByVal sender _ 14 As System.Object, ByVal e As System.EventArgs) _ 15 Handles cmdDisplay.Click 16 17 Dim dialog As DialogResult = MessageBox.Show( _ 18 "This is Your Custom MessageBox", "VB", buttonType, _ 19 iconType) 20 21 ' check for dialog result and display on label 22 Select Case dialog 23 24 Case DialogResult.OK 25 lblDisplay.Text = "OK was pressed" 26 27 Case DialogResult.Cancel 28 lblDisplay.Text = "Cancel was pressed" 29 30 Case DialogResult.Abort 31 lblDisplay.Text = "Abort was pressed" 32 33 Case DialogResult.Retry 34 lblDisplay.Text = "Retry was pressed" 35

40  2002 Prentice Hall. All rights reserved. Outline 40 RadioButtonTest. vb 36 Case DialogResult.Ignore 37 lblDisplay.Text = "Ignore was pressed" 38 39 Case DialogResult.Yes 40 lblDisplay.Text = "Yes was pressed" 41 42 Case DialogResult.No 43 lblDisplay.Text = "No was pressed" 44 End Select 45 46 End Sub ' cmdDisplay_Click 47 48 ' set button type to OK 49 Private Sub radOk_CheckedChanged(ByVal sender _ 50 As System.Object, ByVal e As System.EventArgs) _ 51 Handles radOk.CheckedChanged 52 53 buttonType = MessageBoxButtons.OK 54 End Sub ' radOk_CheckedChanged 55 56 ' set button type to OkCancel 57 Private Sub radOkCancel_CheckedChanged(ByVal sender _ 58 As System.Object, ByVal e As System.EventArgs) _ 59 Handles radOkCancel.CheckedChanged 60 61 buttonType = MessageBoxButtons.OKCancel 62 End Sub ' radOkCancel_CheckedChanged 63 64 ' set button type to AbortRetryIgnore 65 Private Sub radAbortRetryIgnore_CheckedChanged(ByVal sender _ 66 As System.Object, ByVal e As System.EventArgs) _ 67 Handles radAbortRetryIgnore.CheckedChanged 68 69 buttonType = MessageBoxButtons.AbortRetryIgnore 70 End Sub ' radAbortRetryIgnore_CheckedChanged

41  2002 Prentice Hall. All rights reserved. Outline 41 RadioButtonTest. vb 71 72 ' set button type to YesNoCancel 73 Private Sub radYesNoCancel_CheckedChanged(ByVal sender _ 74 As System.Object, ByVal e As System.EventArgs) _ 75 Handles radYesNoCancel.CheckedChanged 76 77 buttonType = MessageBoxButtons.YesNoCancel 78 End Sub ' radYesNoCancel_CheckedChanged 79 80 ' set button type to YesNo 81 Private Sub radYesNo_CheckedChanged(ByVal sender _ 82 As System.Object, ByVal e As System.EventArgs) _ 83 Handles radYesNo.CheckedChanged 84 85 buttonType = MessageBoxButtons.YesNo 86 End Sub ' radYesNo_CheckedChanged 87 88 ' set button type to RetryCancel 89 Private Sub radRetryCancel_CheckedChanged(ByVal sender _ 90 As System.Object, ByVal e As System.EventArgs) _ 91 Handles radRetryCancel.CheckedChanged 92 93 buttonType = MessageBoxButtons.RetryCancel 94 End Sub ' radRetryCancel_CheckedChanged 95 96 ' set icon type to Asterisk when Asterisk checked 97 Private Sub radAsterisk_CheckedChanged(ByVal sender _ 98 As System.Object, ByVal e As System.EventArgs) _ 99 Handles radAsterisk.CheckedChanged 100 101 iconType = MessageBoxIcon.Asterisk 102 End Sub ' radAsterisk_CheckedChanged 103

42  2002 Prentice Hall. All rights reserved. Outline 42 RadioButtonTest. vb 104 ' set icon type to Error when Error checked 105 Private Sub radError_CheckedChanged(ByVal sender _ 106 As System.Object, ByVal e As System.EventArgs) _ 107 Handles radError.CheckedChanged 108 109 iconType = MessageBoxIcon.Error 110 End Sub ' radError_CheckedChanged 111 112 ' set icon type to Exclamation when Exclamation checked 113 Private Sub radExclamation_CheckedChanged(ByVal sender _ 114 As System.Object, ByVal e As System.EventArgs) _ 115 Handles radExclamation.CheckedChanged 116 117 iconType = MessageBoxIcon.Exclamation 118 End Sub ' radExclamation_CheckedChanged 119 120 ' set icon type to Hand when Hand checked 121 Private Sub radHand_CheckedChanged(ByVal sender _ 122 As System.Object, ByVal e As System.EventArgs) _ 123 Handles radHand.CheckedChanged 124 125 iconType = MessageBoxIcon.Hand 126 End Sub ' radHand_CheckedChanged 127 128 ' set icon type to Information when Information checked 129 Private Sub radInformation_CheckedChanged(ByVal sender _ 130 As System.Object, ByVal e As System.EventArgs) _ 131 Handles radInformation.CheckedChanged 132 133 iconType = MessageBoxIcon.Information 134 End Sub ' radInformation_CheckedChanged 135

43  2002 Prentice Hall. All rights reserved. Outline 43 RadioButtonTest. vb 136 ' set icon type to Question when Question checked 137 Private Sub radQuestion_CheckedChanged(ByVal sender _ 138 As System.Object, ByVal e As System.EventArgs) _ 139 Handles radQuestion.CheckedChanged 140 141 iconType = MessageBoxIcon.Question 142 End Sub ' radQuestion_CheckedChanged 143 144 ' set icon type to Stop when Stop checked 145 Private Sub radStop_CheckedChanged(ByVal sender _ 146 As System.Object, ByVal e As System.EventArgs) _ 147 Handles radStop.CheckedChanged 148 149 iconType = MessageBoxIcon.Stop 150 End Sub ' radStop_CheckedChanged 151 152 ' set icon type to Warning when Warning checked 153 Private Sub radWarning_CheckedChanged(ByVal sender _ 154 As System.Object, ByVal e As System.EventArgs) _ 155 Handles radWarning.CheckedChanged 156 157 iconType = MessageBoxIcon.Warning 158 End Sub ' radWarning_CheckedChanged 159 160 End Class ' FrmRadioButtons

44  2002 Prentice Hall. All rights reserved. Outline 44 RadioButtonTest. vb

45  2002 Prentice Hall. All rights reserved. Outline 45 RadioButtonTest. vb

46  2002 Prentice Hall. All rights reserved. Outline 46 RadioButtonTest. vb

47  2002 Prentice Hall. All rights reserved. Outline 47 RadioButtonTest. vb

48  2002 Prentice Hall. All rights reserved. 48 12.8 PictureBoxes PictureBoxes –Display images Bitmap GIF (Graphics Interchange Format) JPEG (Joint Photographic Expert Group) Metafile –Image property Image to be displayed

49  2002 Prentice Hall. All rights reserved. 49 12.8 PictureBoxes Fig. 12.30PictureBox properties and events.

50  2002 Prentice Hall. All rights reserved. Outline 50 PictureBoxTest.v b 1 ' Fig. 12.31: PictureBoxTest.vb 2 ' Using a PictureBox to display images. 3 4 Imports System.IO 5 6 Public Class FrmPictureBox 7 Inherits System.Windows.Forms.Form 8 9 Private imageNumber As Integer = -1 10 11 ' Visual Studio.NET generated code 12 13 ' replace image in picImage 14 Private Sub picImage_Click(ByVal sender As System.Object, _ 15 ByVal e As System.EventArgs) Handles picImage.Click 16 17 ' imageNumber from 0 to 2 18 imageNumber = (imageNumber + 1) Mod 3 19 20 ' create Image object from file, display in PictureBox 21 picImage.Image = Image.FromFile _ 22 (Directory.GetCurrentDirectory & "\images\image" & _ 23 imageNumber & ".bmp") 24 End Sub ' picImage_Click 25 26 End Class ' FrmPictureBox An image object is created from file and set as the PictureBox’s image property

51  2002 Prentice Hall. All rights reserved. Outline 51

52  2002 Prentice Hall. All rights reserved. 52 12.9 Mouse-Event Handling MouseEventArgs Properties –Button Mouse button pressed –Clicks Number of mouse clicks –X X-coordinate of event, within the control –Y Y-coordinate of event, within the control

53  2002 Prentice Hall. All rights reserved. 53 12.9 Mouse-Event Handling Fig. 12.32Mouse events, delegates and event arguments.

54  2002 Prentice Hall. All rights reserved. Outline 54 Painter.vb 1 ' Fig. 12.33: Painter.vb 2 ' Using the mouse to draw on a form. 3 4 Public Class FrmPainter 5 Inherits System.Windows.Forms.Form 6 7 Dim shouldPaint As Boolean = False 8 9 ' Visual Studio.NET IDE generated code 10 11 ' draw circle if shouldPaint is True 12 Private Sub FrmPainter_MouseMove( _ 13 ByVal sender As System.Object, _ 14 ByVal e As System.Windows.Forms.MouseEventArgs) _ 15 Handles MyBase.MouseMove 16 17 ' paint circle if mouse pressed 18 If shouldPaint Then 19 Dim graphic As Graphics = CreateGraphics() 20 21 graphic.FillEllipse _ 22 (New SolidBrush(Color.BlueViolet), e.X, e.Y, 4, 4) 23 End If 24 25 End Sub ' FrmPainter_MouseMove 26 27 ' set shouldPaint to True 28 Private Sub FrmPainter_MouseDown(ByVal sender As Object, _ 29 ByVal e As System.Windows.Forms.MouseEventArgs) _ 30 Handles MyBase.MouseDown 31 32 shouldPaint = True 33 End Sub ' FrmPainter_MousDown 34 Event handling for Mouse event MouseDown sets variable shouldPaint to True Event handling code begins for event MouseMove

55  2002 Prentice Hall. All rights reserved. Outline 55 Painter.vb 35 ' set shouldPaint to False 36 Private Sub FrmPainter_MouseUp(ByVal sender As Object, _ 37 ByVal e As System.Windows.Forms.MouseEventArgs) _ 38 Handles MyBase.MouseUp 39 40 shouldPaint = False 41 End Sub ' FrmPainter_MouseUp 42 43 End Class ' FrmPainter Event handling for Mouse event MouseUp sets variable shouldPaint to False

56  2002 Prentice Hall. All rights reserved. 56 12.10 Keyboard-Event Handling Key Events –Generated when keys are pressed and released –KeyPress Can return a Char for any ASCII character pressed –KeyUp and KeyDown Test for special modifier keys Use KeyEventArgs

57  2002 Prentice Hall. All rights reserved. 57 12.10 Keyboard-Event Handling Fig. 12.34Keyboard events, delegates and event arguments.

58  2002 Prentice Hall. All rights reserved. Outline 58 KeyDemo.vb 1 ' Fig. 12.35: KeyDemo.vb 2 ' Displaying information about a user-pressed key. 3 4 Public Class FrmKeyDemo 5 Inherits System.Windows.Forms.Form 6 7 ' Visual Studio.NET generated code 8 9 ' event handler for key press 10 Private Sub FrmKeyDemo_KeyPress(ByVal sender As System.Object, _ 11 ByVal e As System.windows.Forms.KeyPressEventArgs) _ 12 Handles MyBase.KeyPress 13 14 lblCharacter.Text = "Key pressed: " & e.KeyChar 15 End Sub 16 17 ' display modifier keys, key code, key data and key value 18 Private Sub FrmKeyDemo_KeyDown(ByVal sender As System.Object, _ 19 ByVal e As System.Windows.Forms.KeyEventArgs) _ 20 Handles MyBase.KeyDown 21 22 lblInformation.Text = "" 23 24 ' if key is Alt 25 If e.Alt Then 26 lblInformation.Text &= "Alt: Yes" & vbCrLf 27 Else 28 lblInformation.Text &= "Alt: No" & vbCrLf 29 End If 30 KeyDown event handler displays information from its KeyEventArgs object KeyPress event handler accesses the KeyChar property of the KeyPressEventArgs object and displays the Key

59  2002 Prentice Hall. All rights reserved. Outline 59 KeyDemo.vb 31 ' if key is Shift 32 If e.Shift Then 33 lblInformation.Text &= "Shift: Yes" & vbCrLf 34 Else 35 lblInformation.Text &= "Shift: No" & vbCrLf 36 End If 37 38 ' if key is Ctrl 39 If e.Control Then 40 lblInformation.Text &= "Ctrl: Yes" & vbCrLf & _ 41 "KeyCode: " & e.KeyCode.ToString & vbCrLf & _ 42 "KeyData: " & e.KeyData.ToString & vbCrLf & _ 43 "KeyValue: " & e.KeyValue 44 Else 45 lblInformation.Text &= "Ctrl: No" & vbCrLf & _ 46 "KeyCode: " & e.KeyCode.ToString & vbCrLf & _ 47 "KeyData: " & e.KeyData.ToString & vbCrLf & _ 48 "KeyValue: " & e.KeyValue 49 End If 50 51 End Sub ' FrmKeyDemo_KeyDown 52 53 ' clear labels when key is released 54 Private Sub FrmKeyDemo_KeyUp(ByVal sender As System.Object, _ 55 ByVal e As System.windows.Forms.KeyEventArgs) _ 56 Handles MyBase.KeyUp 57 58 lblInformation.Text = "" 59 lblCharacter.Text = "" 60 End Sub ' FrmKeyDemo_KeyUp 61 62 End Class ' FrmKeyDemo The KeyCode property returns a Keys enumeration, which must be converted to a String via method ToString Both labels are cleared when a key is released

60  2002 Prentice Hall. All rights reserved. Outline 60 KeyDemo.vb


Download ppt " 2002 Prentice Hall. All rights reserved. 1 Chapter 12 – Graphical User Interface Concepts: Part 1 Outline 12.1Introduction 12.2 Windows Forms 12.3 Event-Handling."

Similar presentations


Ads by Google