utpa – fall 2011

Post on 03-Jan-2016

22 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

CSCI 3327 Visual Basic Chapter 10: Windows Forms GUI: A Deeper Look. UTPA – Fall 2011. Objectives. In this chapter, you will Learn the design of graphical user interfaces (GUIs) Get familiar with programming mouse and keyboard events Know how to create and manipulate controls - PowerPoint PPT Presentation

TRANSCRIPT

CSCI 3327 Visual Basic CSCI 3327 Visual Basic Chapter 10: Windows Forms Chapter 10: Windows Forms

GUI: A Deeper LookGUI: A Deeper Look

UTPA – Fall 2011

Objectives

• In this chapter, you will– Learn the design of graphical user interfaces

(GUIs)– Get familiar with programming mouse and

keyboard events– Know how to create and manipulate controls

• E.g., Panel, ToolTip, Menu, MonthCalendar, LinkLabel, and CheckedListBox,

2

Controls

3

Controls and Components

• ToolBox

• A form is a container for controls and components

• Visual Studio generates code of controls and components when you drag them onto the form

4

Common Properties of a Form

• AcceptButton– Button that is clicked when Enter key is pressed

• AutoScroll

• CancelButton– Button that is clicked when Esc key is pressed

• FormBorderStyle

• Font

• Text5

Common Methods & Events of a Form

• Methods– Close

• Close a form and release its resources

– Hide• Hide a form without releasing or destroying its

resources

– Show• Display a hidden form

• Events– Load

6

Create Event Handlers

• In the code editor window– Select a control (e.g. button) from the left combo

box– Select an event from the right combo box– Code is generated

automatically

7

Control Properties and Methods

• Properties– TabIndex

• Controls receive focus in the order of TabIndex property

– TabStop• Prevent the control from receiving the focus in this manner

– Enabled vs. Visible

• Methods– Focus– Hide: set Visible property to False– Show: set Visible property to True

8

GroupBoxes and Panels

• Properties of GroupBox– Controls– Text

• Properties of Panel– AutoScroll– BorderStyle– Controls

9

Example 14.12: PanelDemo.vb

• URL:– http://media.pearsoncmg.com/ph/esm/deitel/

vb_htp_2010/codeexamples.html

• Display the button you clicked on Panel– Hanldes Button1.Click, Button2.Click– The same method for multiple events– Ctype (sender, Button).Text

10

Tool Tips

• A helpful text that appears when the mouse hovers over a GUI control

• Drag ToolTip component to form– It appears below the form in the design mode

• Each control will have an extra property– ToolTip on ToolTip1

11

Mouse-Event Handling

• Mouse events– Clicks, presses, and moves– For most mouse events, information about the

event is passed to the event-handling method by an object of class MouseEventArgs

• Mouse pointer's x- and y-coordinates

• The mouse button pressed (Right, Left or Middle)

• The number of times the mouse was clicked

12

Mouse-Event Handling (cont'd)

• Mouse events– Mouse event with event argument of type EventArgs

• MouseEnter, MouseLeave

– Mouse event with event argument of type MouseEventArgs

• MouseDown, MouseHover, MouseMove, MouseUp

– Class MouseEventArgs properties• Button, Clicks, X, Y

13

Example 14.18: Painter.vb

• URL:– http://media.pearsoncmg.com/ph/esm/deitel/

vb_htp_2010/codeexamples.html

• Painter_MouseMove– e As MouseEventArgs

• e.X, e.Y

– g As Graphics = CreateGraphics()– G.FillEllipse(New SolidBrush(Color.BlueViolet),

e.X, e.Y, 4, 4)14

(e.X, e.Y)4

4

Keyboard-Event Handling

• Key Events with Event Arguments of Type KeyEventArgs– KeyDown, KeyUp

• Key Events with Event Arguments of Type KeyPressEventArgs– KeyPress

• Class KeyPressEventArgs properties– KeyChar (ASCII character for the key pressed)– Handled (indicating wether the KeyPress event was

handled)• Class KeyEventArgs properties

– Alt, Control, Shift, Handled, KeyCode

15

Example 14.20: KeyDemo

• URL:– http://media.pearsoncmg.com/ph/esm/deitel/

vb_htp_2010/codeexamples.html

• ByVal e As KeyPressEventArgs– e.KeyChar

• ByVal e As KeyEventArgs– e.Alt, e.Shift, e.Control– e.KeyCode.ToString(), e.KeyData.ToString(),

e.KeyValue.ToString()

16

Menu

• Menu– Shortcut Keys

• Type an ampersand (&) symbol before the character to be underlined

• To display &, use &&– To add shortcut keys for menu items

• Set the ShortcutKeys property– Other types of menu items

• Separator bar• ComboBox• MenuItem• TextBox

17

Example 14.25: MenuTest.vb

• URL:– http://media.pearsoncmg.com/ph/esm/deitel/

vb_htp_2010/codeexamples.html

• blackToolStripMenuItem.Checked = True

• displayLabel.Font = New Font("Times New Roman", 14, displayLabel.Font.Style)

• Application.Exit()

18

MonthCalendar Control

• Properties– FirstDayOfWeek– MaxDate, MinDate– MaxSelectionCount– SelectionRange

• Event– DateChanged

19

Example 14.29: DateTimePicker

• URL:– http://media.pearsoncmg.com/ph/esm/deitel/

vb_htp_2010/codeexamples.html• dropOffDateTimePicker.MinDate=DateTime.Tod

ay• dropOffDateTimePicker.MaxDate=DateTime.Tod

ay.AddYears(1)• Dim dropOffDate As DateTime =

dropOffDateTimePicker.Value– dropOffDate.DayOfWeek=DayOfWeek.Friday– dropOffDate.AddDays(3).ToLongDateString()

20

LinkLabel Control

• Display links to other resources• Example 14.31:

– URL:http://media.pearsoncmg.com/ph/esm/deitel/vb_htp_2010/codeexamples.html

• cDriveLinkLabel.LinkClicked– cDriveLinkLabel.LinkVisited = True– Process.Start(“C:\”)– Process.Start(“http://www.deitel.com”)– Process.Start(“notepad”)

21

Process.Start(" ")

• Effect of Process.Start(" ")– Start Run

• cmd

• calc

• notepad

22

ListBox and CheckedListBox Controls

• ListBox properties– MultiColumn– SelectedIndex

• -1 – no items are selected• If multiple items are selected, one of selected indices is

returned– SelectedIndices

• For multiple selected items– SelectedItem, SelectedItems– SelectionMode: None, One, MultiSimple,

MultiExtended– Sorted: alphabetically, False by default

23

ListBox and CheckedListBox Controls (cont'd)

• ListBox methods– ClearSelected– GetSelected

• Take an index as an argument, and return True if the corresponding item is selected

– myListBox.Items.Add(myListItem)

• ListBox Events– SelectedIndexChanged

24

ListBox and CheckedListBox Controls (cont'd)

• CheckedListBox properties– CheckedItems

• A collection of items that are checked

– CheckedIndices• A collection of indices for all checked items

– CheckOnClick • False by Default

– SelectionMode• Determine how many items can be checked: One or

None

25

ListBox and CheckedListBox Controls (cont'd)

• CheckedListBox Method– GetItemChecked

• Take an index and returns True if the corresponding items is checked

• CheckedListBox Event– ItemCheck

• ItemCheckEventArgs– CurrentValue– Index– NewValue

26

Example 14.35: CheckedListBoxTest.vb

• URL:– http://media.pearsoncmg.com/ph/esm/deitel/

vb_htp_2010/codeexamples.html

• itemCheckedListBox.SelectedItem.ToString()

• If e.NewValue = CheckState.Checked

27

Multiple Document Interface (MDI) Windows

• Single document interface (SDI) vs. multiple document interface (MDI)

• MDI: Parent and child windows

28

MDI parent

MDI child

MDI child

Multiple Document Interface (MDI) Windows (cont'd)

• Specify a form is an MDI container– Set IsMdiContainer property to True

• Create a class for child forms– Solution Explorer Add Windows Form…

• Create a new child form

• Set MdiParent property to the parent form

• Call the child form’s Show method

29

Multiple Document Interface (MDI) Windows (cont'd)

• MDI container features– MdiChildren property

• Return an array of child Form references

– ActiveMdiChild property• Return a reference to the active child window

• Tracking child windows in menus– MenuStrip class provides property

MdiWindowListItem• To check which child windows are open in an MDI

container

30

Multiple Document Interface (MDI) Windows (cont'd)

• Arrange child windows– Parent form has method LayoutMdi

• Tiled windows (value TileHorizontal or TileVertical)

• Cascaded windows (value Cascade)

31

Example 14.42: UsingMDI.vb

• URL:– http://media.pearsoncmg.com/ph/esm/deitel/

vb_htp_2010/codeexamples.html• Dim child = new ChildForm(“XXX”,

“vb2008htp")– child.MdiParent = Me– child.Show()

• Me.LayoutMdi(MdiLayout.Cascade)• Me.LayoutMdi(MdiLayout.TileHorizontal)• Me.LayoutMdi(MdiLayout.TileVertical)

32

Animation with the Timer Component

• Timer component generates Tick events at fixed time interval– Timer component has Interval property

• The number of milliseconds between events

– By default, timers are disabled• Set Enabled property to True

33

Example 14.47: AnimationDemo.vb

• URL:– http://media.pearsoncmg.com/ph/esm/deitel/

vb_htp_2010/codeexamples.html

• Display a new image every 50 milliseconds– Handles animationTimer.Tick

34

35

top related