Event Driving programming
Chapter 5: Windows Programming in C#
Event driving Programming(C#) by Dagne W. 1
Common Controls
Button- It is used to create a button.
Checkbox- It is used to create checkbox.
comboBox-it used to popup item.
DateTimePicker-it used to pick current date and time.
Label- It is used to display text on the form.
LinkLable-it is used to display text on the form
ListBox-it used to create a list item.
C# by Dagne w 2
Common Controls
PictureBox- It is used to create images.
ProgressBar-it used to test the progress of task.
RadioButton- It is used to create radio button.
Rich TextBox-it used to display multiple texts.
TextBox-It is used to create a text input in the
form.
Tool Tip-it used to give more information when a
mouse cursor hovers.
WebBrowser- it create web browser.
C# by Dagne w 3
Common Controls
Menus and Toolbars
contextMenuStrip
MenuStrip-to create Menu items
ToolStrip
Container
Flow layout panel -arranges components in flow
layout.
Panel –it used to group collection components.
Split container –it used to divide components in two.
Table layout-it used to arranges components in the
form table.
C# by Dagne w 4
Common Controls
Data
Chart –it used to display data in the form of chart.
DataGridView – is used to show data in form of rows
and columns.
Dataset-it represents memory data.
Dialogs
ColorDialogs- it used to choose color.
FolderBrowserDialog – it used to browse folder.
OpenfileDialogs-it used to open file.
SaveFileDialogs –it used to save file
fontDialog –it used to select font .
C# by Dagne w 5
Common Controls
Printing
PagesetupDialog- to arrange page format, example
print setting, orientation.
PrintDialog:it used to choose print option. Example
number of copy
printDocument-it used to print documents.
Form methods
Close –it used to close form.
Show-it used to show form
Hide –it used to hide form
Activate it used to activate a form
Focus-it used to focus form
C# by Dagne w 6
Common GUI events
Mouse move
Mouse click
Mouse double-click
Key press
Button click
Change in focus
Window activation
C# by Dagne w 7
Example GUI application
using System.Speech.Synthesis;
namespace speechapp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SpeechSynthesizer sp = new SpeechSynthesizer();
private void speak_Click(object sender, EventArgs e)
{
sp = new SpeechSynthesizer();
sp.SpeakAsync(textBox1.Text);
}
private void pause_Click(object sender, EventArgs e)
{
sp.Pause();
}
private void resume_Click(object sender, EventArgs e)
{
sp.Resume();
}
}
}
C# by Dagne w 8
Example GUI application
using System.Net.Mail;
pass.passwordchar=‘*’;//to hide password
try{
MailMessage ms = new MailMessage(fromt.Text, tot.Text, subt.Text,
bodytextt.Text);
SmtpClient sc = new SmtpClient("smtp.gmail.com");
sc.Port = 587;
sc.Credentials = new System.Net.NetworkCredential(usenamet.Text,
passwordt.Text);
sc.EnableSsl = true;
sc.Send(ms);
MessageBox.Show("message is sent");
}
catch(Exception ex)
{
MessageBox.Show("error "+ex);
}
C# by Dagne w 9
Example GUI application
.
C# by Dagne w 10
13.2 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
C# by Dagne w 11
Form Properties
Property Description
Location Point of to left corner
Size Size of form in pixels
Text Text displayed or caption
AutoScaleDimensions DPI resolution of display it was built for. Will be scaled to look correct on other
displays.
BackColor Background color
ForeColor Foreground or drawing color
ClientSize Size of drawing area without borders or scrollbars
Controls A collection of controls owned by the form
WindowState Whether maximized, minimized or normal
DefaultSize Size when initially created
MinimumSize Minimum size window can be resized to
MaximumSize Maximum size window can be resized to
1
2
C# by Dagne w 12
Form
Events
Event Description
Load Just before form is loaded the first time
Closing Just before the form is closed
Closed When the form is actually closed
Shown Occurs when a form is first displayed
ResizeBegin Resize operation has begun
ResizeEnd Resize operation has ended
1
3
C# by Dagne w 13
Form Methods
Method Description
Activate Activates the window and gives it focus
Close Closes the form
Show Makes the form visible
BringToFront Moves to top of stacking order
Hide Makes the form invisible
Focus Gives the form focus
By dagne 1
4
14
CheckBoxes
• Labeled boxes which can be checked or unchecked
• Checked – get/set Boolean to determine if box is
checked
• CheckedChanged – delegate called when the box is
checked or unchecked
C# by Dagne w 15
GroupBox
• Displays a border around a group of controls
• Can have optional label controlled by Text
property
• Controls can be added by
• Placing them within the group box in the designer
• Adding to the Controls list programmatically
C# by Dagne w 16
Panels
• A panel is like a group box but does not have a text label
• It contains a group of controls just like group box
• BorderStyle – get/set border style as
• BorderStyle.Fixed3D
• BorderStyle.FixedSingle
• BorderStyle.None
C# by Dagne w 17
Radio Buttons
• Radio buttons are similar to checkboxes, but
• Appear slightly different
• Allow buttons to be grouped so that only one can be checked at a
time
• A group is formed when the radio buttons are in the same
container – usually a group box or panel
10
C# by Dagne w 18
Radio Buttons
• Checked – get/set Boolean indicating if the button is checked
• CheckedChanged – delegate invoked when the button is
checked or unchecked
C# by Dagne w 11
TextBox
• This is a single line or multi-line text editor
• Multiline – get/set Boolean to make multiline
• AcceptsReturn – in a multiline box, if true then pressing
Return will create a new line. If false then the button
referenced by the AcceptButton property of the form,
will be clicked.
• PasswordChar – if this is set to a char, then the box
becomes a password box
C# by Dagne w 12
TextBox
• ReadOnly – if true, the control is grayed out and will not
accept user input
• ScrollBars – determines which scrollbars will be used:
ScrollBars.None, Vertical, Horizontal, Both
• TextAlign – get/set HorizontalAlignment.Left, Center, or
Right
• TextChanged – event raised when the text is changed
C# by Dagne w 13
File
Dialog
• The file dialog allows you to navigate through directories and load or
save files
• This is an abstract class and you use
• OpenFileDialog
• SaveFileDialog
• You should create the dialog once and reuse it so that it will
remember the last directory the user had navigated to
C# by Dagne w 14
File Dialog
• InitialDirectory – string representing the directory to start
in
• Filter – a string indicating the different types of files to be
displayed
• A set of pairs of display name and pattern separated by vertical bars
• Windows Bitmap|*.bmp|JPEG|*.jpg|GIF|*.gif
• FilterIndex – the filter to use as an origin 1 index
C# by Dagne w 15
File
Dialog
• FileName – the name of the file selected
• ShowDialog – a method to show the dialog and block until cancel
or OK is clicked
if (openDialog.ShowDialog() == DialogResult.OK) { Image
img = Image.FromFile(openDialog.FileName);
pictureBox1.Image = img;
}
C# by Dagne w 16
Image Class
• An abstract class that can store an image
• Several concrete classes are used for image types such as
BMP, GIF, or JPG
• FromFile(string fname) – loads any supported
image format from a file
• FromStream(stream) – loads an image from a stream
• Height – image height
• Width – image width
C# by Dagne w 17
PictureBox Class
• This displays an image
• Image – assigned an Image object to display
• SizeMode – determines what to do if the image does not fit into
the window
• Normal
• StretchImage
• AutoSize
• CenterImage
• Zoom
C# by Dagne w 18
ToolTips
• These are the small pop-up boxes which explain the purpose of
a control
• To use
• Create a new tooltip in the designer
• Drop the tooltip onto the form
• The tooltip will appear on a tray below the form
C# by Dagne w 19
ToolTips
20
C# by Dagne w 28
ToolTips
• After the tooltip appears in the tray, a new tooltip property
appears for every component
• This can be assigned different text for each component
• That text will be displayed when the mouse hovers over that
component
C# by Dagne w 21
NumericUpDown
• This allows the selection of an integer from a limited
range
• Also called a spinner
• Minimum – smallest selectable value
• Maximum – largest selectable value
• Increment – size of increment per click
• Value – the selected value
• ValueChanged – event raised when the value changes
C# by Dagne w 22
MonthCalendar
• A control which displays a calendar for the selection
of a range of dates
• MinDate – the first selectable date
• MaxDate – the last selectable date
• SelectionStart – DateTime of start of selection
• SelectionEnd – DateTime of end of selection
• DateChanged – event raised when date is changed
C# by Dagne w 23
DateTimePicker
• Similar to a month calendar but
• Calendar pulls down and selection displayed
• More configurable
• Selects a single value, not a range
• Properties/methods
• Format – Long, Short, Time, Custom
• Value – DateTime value selected
• ValueChanged – event which fires when date or time
changes
C# by Dagne w 24
System.DateTime Structure
• A structure representing a date and time
• Constructors
• DateTime(int d, int m, int y)
• DateTime(int d, int m, int y, int h, int m, int s)
• Properties
• Now – returns a DateTime object set to the current local time
C# by Dagne w 25
DateTime
• Day – day from 1-31
• Month – month from 1-12
• Year – tear from 1-9999
• Hour – from 0-23
• Minute – minute from 0 -59
• Second – second from 0 -59
• Millisecond – millisecond from 0-
999
C# by Dagne w 26
DateTime
• DayOfWeek – get enumeration of Sunday, Monday,…
• DayOfYear – day of year from 1 – 366
• Methods
• DateTime AddYears(double value)
• DateTime AddMonths(double value)
• DateTime AddDays(double value)
• DateTime AddHours(double value)
• DateTime AddSeconds(double value)
• DateTime AddMilliseconds(double value)
C# by Dagne w 27
DateTime
• TimeSpan Subtract(DateTime)
• int CompareTo(DateTime)
• static DateTime Parse(string)
• ToLongDateString()
• ToShortDateString()
• ToLongTimeString()
• ToShortTimeString()
C# by Dagne w 28
ListBox
• The ListBox presents a list of items which can be
selected
• A scrollbar is displayed if needed
• MultiColumn – displays list as multiple columns
• SelectedIndex – index of selected item
• SelectedIndices – collection of selected indices
• SelectedItem – the selected item
C# by Dagne w 29
ListBox
• SelectedItems – collection of selected items
• SelectionMode – how items can be selected
• None – no selection
• One – single selection
• MultiSimple – each click selects additional item
• MultiExtended – uses shift and control keys
• Sorted – if true the items will be sorted
alphabetically
30
C# by Dagne w 38
ListBox
• Items – a collection of items in the list box
• ClearSelected – method to clear selection
• GetSelected – returns true if the parameter passed is
selected
• SelectedIndexChanged – event when selection changes
C# by Dagne w 31
Populating a ListBox
• Any object can be placed into a ListBox
• The display is generated by ToString()
for(int i = 0; i < 50; i++)
{ listBox1.Items.Add(
"Item " + i.ToString());
}
C# by Dagne w 32
ComboBox
• A combo box is like a list but lets you displays a selected value.
• The list pulls down when a selection is being made.
• Options allow the selected text to be editable or to require it to
be selected from the drop-down list
C# by Dagne w 33
ComboBox
• DropDownStyle –
• Simple – text is editable & list always visible
• DropDown – default indicating text is editable & user must click to see list
• DropDownList – value is not editable & user must click to see list
• Items – the collection of items in the list
C# by Dagne w 34
ComboBox
• MaxDropDownItems – max number of items in pulldown before
scrollbar used
• SelectedIndex – index of selection
• SelectedItem – selected item
• Sorted – whether entries are sorted
• SelectedIndexChanged – event raised when selection
changes
C# by Dagne w 35
Code-behind
• Events are handled by methods that live behind
GUI
• our job is to program these methods…
C# by Dagne w 36
Questions??
OOP using Java Prepared by Dagne W. 45