utpa – fall 2011
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 PresentationTRANSCRIPT
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