 2007 Pearson Education, Inc. All rights reserved. 1 13 Graphical User Interface Concepts: Part 1.

Slides:



Advertisements
Similar presentations
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Advertisements

CHAPTER TWO Creating Simple Visual Basic.NET Windows Applications.
© by Pearson Education, Inc. All Rights Reserved.
GUI-Labels, TextBoxes and Buttons Label- displays read-only text Common properties:  Font – font used by the text of label  Text – text to appear on.
Graphical User Interface (GUI) A GUI allows user to interact with a program visually. GUIs are built from GUI components. A GUI component is an object.
Copyright © 2012 Pearson Education, Inc. Chapter 2 Introduction to Visual C#
 2006 Pearson Education, Inc. All rights reserved Graphical User Interface Concepts: Part I.
Chapter 3 Introduction to Event Handling and Windows Forms Applications.
Microsoft Visual Basic 2005: Reloaded Second Edition
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Interest Calculator Application Introducing the For...Next Repetition Statements.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
Chapter 8: Writing Graphical User Interfaces
CHAPTER TWO Creating Simple Visual Basic.NET Windows Applications.
Week 2: WINDOWS PROGRAMMING Chapter 15 in “Beginning Visual C# 2010” ebook Chapter 4 in “”MCTS_Self-Paced_Training_Kit” ebook.
Chapter 2 More Controls Programming in C#. NET © 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Typing Application Introducing Keyboard Events, Menus, Dialogs and the Dictionary.
Java Software Solutions Lewis and Loftus Chapter 10 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Graphical User Interfaces --
Chapter 8: Writing Graphical User Interfaces Visual Basic.NET Programming: From Problem Analysis to Program Design.
G RAPHICAL U SER I NTERFACE C ONCEPTS : P ART 1 1 Outline Introduction Windows Forms Event-Handling Model - Basic Event Handling.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 12 - Graphical User Interface Concepts: Part.
Visual C# 2012 How to Program 1. 2  A graphical user interface (GUI) allows a user to interact visually with a program.  Figure 14.1 shows a Visual.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 3 Welcome Application Introduction to Visual Programming.
1 Chapter Eleven Handling Events. 2 Objectives Learn about delegates How to create composed delegates How to handle events How to use the built-in EventHandler.
CHAPTER TWO Creating Simple Visual Basic.NET Windows Applications.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
1 Creating Windows GUIs with Visual Studio. 2 Creating the Project New Project Visual C++ Projects Windows Forms Application Give the Project a Name and.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
Chapter 4 Introduction to Classes, Objects, Methods and strings
Topics Introduction Scene Graphs
Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 13 GUI Programming.
Object-Oriented Application Development Using VB.NET 1 Chapter 10 VB.NET GUI Components Overview.
Chapter 2 More Controls Programming in C#. NET Objectives Use text boxes, group boxes, check boxes, radio buttons, and picture boxes effectively.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Student Grades Application Introducing Two-Dimensional Arrays and RadioButton.
 2002 Prentice Hall. All rights reserved. 1 Outline Mouse Event Handling Keyboard Event Handling Graphical User Interface Concepts:
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 6 Looping and Multiple Forms.
Graphical User Interface Concepts - Part 1 Session 08 Mata kuliah: M0874 – Programming II Tahun: 2010.
Dive Into® Visual Basic 2010 Express
Visual Basic.NET Windows Programming
Java FX: Scene Builder.
Chapter 2: The Visual Studio .NET Development Environment
Computing with C# and the .NET Framework
Topics Graphical User Interfaces Using the tkinter Module
Chapter 1: An Introduction to Visual Basic 2015
Chapter 8: Writing Graphical User Interfaces
Chapter 2 – Introduction to the Visual Studio .NET IDE
Graphical User Interface Concepts: Part I
Program and Graphical User Interface Design
Chapter Eleven Handling Events.
Chap 7. Building Java Graphical User Interfaces
Graphical User Interfaces -- Introduction
Visual programming Chapter 3: GUI (Graphical User Interface) Part I
Program and Graphical User Interface Design
Variables and Arithmetic Operations
Chapter 2 – Introduction to the Visual Studio .NET IDE
Hands-on Introduction to Visual Basic .NET
CIS16 Application Development Programming with Visual Basic
Graphical User Interface Concepts: Part I
Visual Basic Programming Chapter Four Notes Working with Variables, Constants, Data Types, and Expressions GROUPBOX CONTROL The _____________________________________.
Visual Studio.
Chapter 15: GUI Applications & Event-Driven Programming
Chapter 14 Graphical User Interfaces with Windows Forms: Part 1
6. WinForms 2003 C# GUI - Basics.
Chapter 13: Handling Events
Creating Additional Input Items
Overview of the IDE Visual Studio .NET is Microsoft’s Integrated Development Environment (IDE) for creating, running and debugging programs (also.
Week 2: WINDOWS PROGRAMMING
Presentation transcript:

 2007 Pearson Education, Inc. All rights reserved Graphical User Interface Concepts: Part 1

 2007 Pearson Education, Inc. All rights reserved. 2...The user should feel in control of the computer; not the other way around. This is achieved in applications that embody three qualities: responsiveness, permissiveness, and consistency. — Apple Computer, Inc. All the better to see you with, my dear. — The Big Bad Wolf to Little Red Riding Hood...the wisest prophets make sure of the event first. — Horace Walpole

 2007 Pearson Education, Inc. All rights reserved. 3 OBJECTIVES In this chapter you will learn:  Design principles of graphical user interfaces (GUIs).  How to create graphical user interfaces.  How to process events that are generated by user interactions with GUI controls.  The namespaces that contain the classes for graphical user interface controls and event handling.  How to create and manipulate Button, Label, RadioButton, CheckBox, TextBox, Panel and NumericUpDown controls.  How to add descriptive ToolTips to GUI controls.  How to process mouse and keyboard events.

 2007 Pearson Education, Inc. All rights reserved Introduction 13.2Windows Forms 13.3Event Handling A Simple Event-Driven GUI Another Look at the Visual Studio Generated Code Delegates and the Event-Handling Mechanism Other Ways to Create Event Handlers Locating Event Information 13.4Control Properties and Layout 13.5 Label s, TextBox es and Buttons

 2007 Pearson Education, Inc. All rights reserved GroupBox es and Panel s 13.7 CheckBox es and RadioButton s 13.8 PictureBox es 13.9 ToolTip s NumericUpDown Control 13.11Mouse-Event Handling 13.12Keyboard-Event Handling 13.13Wrap-Up

 2007 Pearson Education, Inc. All rights reserved Introduction Graphical User Interface (GUI) – Gives a program distinctive “look” and “feel” – Built from GUI controls (Fig. 13.2) Objects that can display information on the screen or enable users to interact with an application Implements IComponent interface

 2007 Pearson Education, Inc. All rights reserved. 7 Look-and-Feel Observation 13.1 Consistent user interfaces enable a user to learn new applications faster because the applications have the same look-and-feel.

 2007 Pearson Education, Inc. All rights reserved. 8 Fig | GUI controls in an Internet Explorer window.

 2007 Pearson Education, Inc. All rights reserved. 9 Fig | Some basic GUI controls.

 2007 Pearson Education, Inc. All rights reserved Windows Forms Windows Forms – Used to create GUIs for programs – Graphical element that appears on your computer’s desktop – Active window is the front most window – A Form is a container for controls and components – In visual programming, Visual Studio generates much of the GUI-related code

 2007 Pearson Education, Inc. All rights reserved. 11 Fig | Components and controls for Windows Forms.

 2007 Pearson Education, Inc. All rights reserved. 12 Fig | Common Form properties, methods and an event. (Part 1 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 13 Fig | Common Form properties, methods and an event. (Part 2 of 2.)

 2007 Pearson Education, Inc. All rights reserved Event Handling Event Handling – GUIs are event driven – When user interacts with a GUI component, the interaction is known as an event – A method that performs a task in response to an event is called an event handler

 2007 Pearson Education, Inc. All rights reserved A Simple Event-Driven GUI Can create a Click event handler by double clicking the Button control on the Form (if applicable) There are naming conventions for variable names of controls and components – In most cases, there is a three letter prefix depending on its type By convention, VB names the event-handler method as controlName_eventName (e.g., btnClickMe_Click) Each event handler receives two parameters when called – Object named sender A reference to the object that generated the event – EventArgs named e Contains additional information about the event that occurred

 2007 Pearson Education, Inc. All rights reserved. 16 Outline FrmSimpleEvent Example.vb The click event handler for btnClickMe Let user know that btnClickMe was clicked by displaying MessageBox

 2007 Pearson Education, Inc. All rights reserved. 17 Software Engineering Observation 13.1 Event handlers do not return values—they are designed to execute code based on an action and return control to the main program.

 2007 Pearson Education, Inc. All rights reserved. 18 Good Programming Practice 13.1 Use the event-handler naming convention controlName_eventName so that your method names will be meaningful. Such names tell users what event a method handles for what control. This convention is not required, but it makes your code easier to read, understand, modify and maintain.

 2007 Pearson Education, Inc. All rights reserved Another Look at the Visual Studio Generated Code Visual Studio Generated Code – The auto-generated code is saved in the Designer.vb file of the Form Partial class – By default, all variable declarations for controls created through Visual Basic have a Friend access modifier – The code also includes Dispose and InitializeComponent

 2007 Pearson Education, Inc. All rights reserved. 20 Fig | First half of the Visual Studio generated code file.

 2007 Pearson Education, Inc. All rights reserved. 21 Fig | Second half of the Visual Studio generated code file.

 2007 Pearson Education, Inc. All rights reserved. 22 Error-Prevention Tip 13.1 The code generated by building a GUI in Design mode is not meant to be modified directly, and doing so can make an application function incorrectly. You should modify control properties through the Properties window.

 2007 Pearson Education, Inc. All rights reserved Delegates and the Event-Handling Mechanism Delegates and the Event-Handling Mechanism – Event sender Control that generates an event – Event receiver Responds to a particular event – Delegates Hold a reference to a method with a signature Delegate keyword Handles clause - “Register” your event handler as the method to call in response to an event

 2007 Pearson Education, Inc. All rights reserved Other Ways to Create Event Handlers Other ways to create event handlers – By double clicking a control, the Form creates a event handler for that control – Able to create additional event handlers through the Properties window (Fig. 13.8)

 2007 Pearson Education, Inc. All rights reserved. 25 Fig | Viewing events for a Button control in the Properties window.

 2007 Pearson Education, Inc. All rights reserved Locating Event Information Read the Visual Studio documentation to learn about the different events raised (Fig )

 2007 Pearson Education, Inc. All rights reserved. 27 Fig | List of Button events.

 2007 Pearson Education, Inc. All rights reserved. 28 Fig | Click event details.

 2007 Pearson Education, Inc. All rights reserved Control Properties and Layout Control Properties and Layout – Focus method Transfers the focus to a control and makes it the active control – Enabled property Indicates whether the user can interact with a control to generate an event – Anchoring property Causes controls to remain at a fixed distance from the sides of the container (Fig – 13.13) – Docking property Attaches a control to a container such that the control stretches across an entire side (Fig ) – Padding property Specifies the distance between the docked controls and the Form edges – Width and Height Specifies size of Form Using Visual Studio To Edit GUI’s Layout – Snap lines Appear to help you position the control with respect to other controls

 2007 Pearson Education, Inc. All rights reserved. 30 Fig | Class Control properties and methods. (Part 1 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 31 Fig | Class Control properties and methods. (Part 2 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 32 Fig | Manipulating the Anchor property of a control.

 2007 Pearson Education, Inc. All rights reserved. 33 Fig | Anchoring demonstration.

 2007 Pearson Education, Inc. All rights reserved. 34 Fig | Docking a Button to the top of a Form.

 2007 Pearson Education, Inc. All rights reserved. 35 Fig | Control layout properties.

 2007 Pearson Education, Inc. All rights reserved. 36 Look-and-Feel Observation 13.2 For resizable Form s, ensure that the GUI layout appears consistent across various Form sizes.

 2007 Pearson Education, Inc. All rights reserved Label s, TextBoxe s and Button s Label s – Provide text information (as well as images) – Display text that user cannot directly modify – Can be changed programmatically TextBoxe s – Area in which either text can be displayed or typed in – Password TextBoxe s hides information entered by user Button s – Control that user clicks to trigger specific action – There are several types of buttons, such as checkboxes and radio buttons – All buttons derive from class ButtonBase

 2007 Pearson Education, Inc. All rights reserved. 38 Fig | Snap lines in Visual Studio 2005.

 2007 Pearson Education, Inc. All rights reserved. 39 Fig | Common Label properties.

 2007 Pearson Education, Inc. All rights reserved. 40 Fig | TextBox properties and an event. (Part 1 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 41 Fig | TextBox properties and an event. (Part 2 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 42 Look-and-Feel Observation 13.3 Although Label s, TextBox es and other controls can respond to mouse clicks, Button s are more natural for this purpose.

 2007 Pearson Education, Inc. All rights reserved. 43 Fig | Button properties and an event.

 2007 Pearson Education, Inc. All rights reserved. 44 Outline FrmLabelTextBox ButtonTest.vb The click event handler for btnDisplayPassword Display the password protected text in lblDisplayPassword

 2007 Pearson Education, Inc. All rights reserved GroupBoxe s and Panel s GroupBoxe s and Panel s – Arrange controls on a GUI – Used to group similar functionality that a related – Primary difference between these two controls: GroupBoxe s can display a caption (i.e., text) and do not include scrollbars Panel s can include scrollbars and do not include a caption

 2007 Pearson Education, Inc. All rights reserved. 46 Fig | GroupBox properties.

 2007 Pearson Education, Inc. All rights reserved. 47 Fig | Panel properties.

 2007 Pearson Education, Inc. All rights reserved. 48 Look-and-Feel Observation 13.4 Panel s and GroupBox es can contain other Panel s and GroupBox es for more complex layouts.

 2007 Pearson Education, Inc. All rights reserved. 49 Look-and-Feel Observation 13.5 You can organize a GUI by anchoring and docking controls inside a GroupBox or Panel. The GroupBox or Panel can then be anchored or docked inside a Form. This divides controls into functional “groups” that can be arranged easily.

 2007 Pearson Education, Inc. All rights reserved. 50 Fig | Creating a Panel with scrollbars.

 2007 Pearson Education, Inc. All rights reserved. 51 Outline FrmGroupboxPanel Example.vb (1 of 2 ) The click event handler for btnHi The click event handler for btnBye Change lblMessage ’s text Change lblmessage ’s text The click event handler for btnLeft Change lblmessage ’s text The click event handler for btnRight Change lblmessage ’s text

 2007 Pearson Education, Inc. All rights reserved. 52 Outline FrmGroupboxPanel Example.vb (2 of 2 )

 2007 Pearson Education, Inc. All rights reserved CheckBox es and RadioButton s Visual Basic has two types of state buttons – CheckBoxe s Small squares that either is blank or contains a check mark Any number of CheckBoxe s can be selected at a time Font styles can be combined via bitwise operators – RadioButton s Only one can be selected at a time Selecting one RadioButton in the group forces all the others to be deselected. RadioButton s represents a set of mutually exclusive options

 2007 Pearson Education, Inc. All rights reserved. 54 Fig | CheckBox properties and events. (Part 1 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 55 Fig | CheckBox properties and events. (Part 2 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 56 Outline FrmCheckBoxTest. vb (1 of 2 ) The event handler for chkBold when user checks or unchecks Bold the font of lblOutput if not done so already and vice versa The event handler for chkItalic when user checks or unchecks Italicize the font of lblOutput if not done so already and vice versa

 2007 Pearson Education, Inc. All rights reserved. 57 Outline FrmCheckBoxTest. vb (2 of 2 )

 2007 Pearson Education, Inc. All rights reserved. 58 Look-and-Feel Observation 13.6 Use RadioButton s when the user should choose only one option in a group.

 2007 Pearson Education, Inc. All rights reserved. 59 Look-and-Feel Observation 13.7 Use CheckBox es when the user should be able to choose multiple options (or no options at all) in a group.

 2007 Pearson Education, Inc. All rights reserved. 60 Software Engineering Observation 13.2 Forms, GroupBox es and Panel s act as logical groups for RadioButton s. The RadioButton s within each group are mutually exclusive to each other, but not to those in different logical groups.

 2007 Pearson Education, Inc. All rights reserved. 61 Fig | RadioButton properties and an event.

 2007 Pearson Education, Inc. All rights reserved. 62 Outline FrmRadioButtons Test.vb (1 of 6 ) Variables to determine how MessageBox will look like Determine which buttons the user selected and store information in buttonType

 2007 Pearson Education, Inc. All rights reserved. 63 Outline FrmRadioButtons Test.vb (2 of 6 ) Determine which buttons the user selected and store information in buttonType Determine which icon the user selected and store information in iconType

 2007 Pearson Education, Inc. All rights reserved. 64 Outline FrmRadioButtons Test.vb (3 of 6 ) Determine which icon the user selected and store information in iconType

 2007 Pearson Education, Inc. All rights reserved. 65 Outline FrmRadioButtons Test.vb (4 of 6 ) Determine which icon the user selected and store information in iconType Display customized MessageBox

 2007 Pearson Education, Inc. All rights reserved. 66 Outline FrmRadioButtons Test.vb (5 of 6 ) Test to see which button was pressed and change lblDisplay ’s text accordingly

 2007 Pearson Education, Inc. All rights reserved. 67 Outline FrmRadioButtons Test.vb (6 of 6 )

 2007 Pearson Education, Inc. All rights reserved PictureBoxe s PictureBoxe s – Display an image

 2007 Pearson Education, Inc. All rights reserved. 69 Fig | PictureBox properties and an event.

 2007 Pearson Education, Inc. All rights reserved. 70 Outline FrmPictureBox Test.vb (1 of 2 ) Assign an image to the picImage given the specified directory

 2007 Pearson Education, Inc. All rights reserved. 71 Outline FrmPictureBox Test.vb (2 of 2 )

 2007 Pearson Education, Inc. All rights reserved ToolTip s ToolTip s – Helpful text that appears when the mouse hovers over an item

 2007 Pearson Education, Inc. All rights reserved. 73 Fig | ToolTip properties and an event.

 2007 Pearson Education, Inc. All rights reserved. 74 Outline FrmToolTip Example.vb

 2007 Pearson Education, Inc. All rights reserved. 75 Fig | ToolTip component in the component tray.

 2007 Pearson Education, Inc. All rights reserved. 76 Fig | Setting a control’s tool tip text.

 2007 Pearson Education, Inc. All rights reserved NumericUpDown Control NumericUpDown – Restrict a user’s input choices to a specific range of numeric values. – Appears as a TextBox, with two small Buttons on the right side – NumericUpDown ’s ReadOnly property indicates if user can type a number into the control

 2007 Pearson Education, Inc. All rights reserved. 78 Fig | NumericUpDown properties and an event.

 2007 Pearson Education, Inc. All rights reserved. 79 Outline FrmInterest Calculator.vb (1 of 2 ) Retrieve, convert, and assign principalTextBox, interestTextBox, and yearUpDown ’s values Calculate interest Output results in txtDisplay

 2007 Pearson Education, Inc. All rights reserved. 80 Outline FrmInterest Calculator.vb (2 of 2 )

 2007 Pearson Education, Inc. All rights reserved Mouse-Event Handling Mouse-Event Handling – Mouse events can be handled for any control that derives from class System.Windows.Forms.Control – Class MouseEventArgs Contains information related to the mouse event Information about the event is passed to the event-handling method through an object of this class – The delegate used to create the mouse-event handlers is MouseEventHandler

 2007 Pearson Education, Inc. All rights reserved. 82 Fig | Mouse events and event arguments.

 2007 Pearson Education, Inc. All rights reserved. 83 Outline FrmPainter.vb (1 of 2 ) Default instance variable to False to identify that painting will not occur Set shouldPaint to True to identify that painting will occur Set shouldPaint to False to identify that painting will not occur

 2007 Pearson Education, Inc. All rights reserved. 84 Outline FrmPainter.vb (2 of 2 ) Paint on the Form when mouse is being pressed

 2007 Pearson Education, Inc. All rights reserved Keyboard-Event Handling Keyboard-Event Handling – Key events occur when keyboard keys are pressed and released – There are three key events: KeyPress - The event occurs when the user presses a key that represents an ASCII character The specific key can be determined with property KeyChar of the event handler’s KeyPressEventArgs argument Does not indicate whether modifier keys were pressed KeyUp and KeyDown - If information about the modifier keys are important, use the KeyUp or KeyDown events The KeyEventArgs argument for each of these events contains information about modifier keys

 2007 Pearson Education, Inc. All rights reserved. 86 Fig | Keyboard events and event arguments. (Part 1 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 87 Fig | Keyboard events and event arguments. (Part 2 of 2.)

 2007 Pearson Education, Inc. All rights reserved. 88 Outline FrmKeyDemo.vb (1 of 3 ) Return the ASCII character for the key pressed

 2007 Pearson Education, Inc. All rights reserved. 89 Outline FrmKeyDemo.vb (2 of 3 ) Reset labels Return the key code for the key as a value from the Keys enumerations Returns the key code for a key combined with modifier information as a Key value and then convert it to a String Returns key code as an Integer and convert to a String

 2007 Pearson Education, Inc. All rights reserved. 90 Outline FrmKeyDemo.vb (3 of 3 )

 2007 Pearson Education, Inc. All rights reserved. 91 Software Engineering Observation 13.3 To make a control react when a particular key is pressed (such as Enter), handle a key event for that control and test for the pressed key. To allow a Button to be clicked when the user presses the Enter key on a Form, set the Form ’s AcceptButton property.