Chapter 1
Introduction to
Programming and
C#
Programming in C# .NET
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Objectives
• Describe the process of visual program design and
development.
• Explain the term object-oriented programming.
• Explain the concepts of classes, objects,
properties, methods, and events.
• List and describe the three steps for writing a C#
program.
• Describe the various files that make up a C#
project.
1- 2
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Objectives cont.
• Identify the elements in the Visual Studio
environment.
• Define design time, run time, and break time.
• Write, run, save, print, and modify your first C#
program.
• Identify syntax errors, run-time errors, and logic
errors.
• Look up C# topics in Help.
1- 3
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Writing Windows Applications
with C#
• Projects look and act like standard Windows
programs
• C# and Windows Forms tools will be used
• Graphical User Interface (GUI) includes
– Forms
– Controls
– Object-oriented programming
1- 4
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Programming Languages
• Procedural
– Specify exact sequence of all operations
– Includes BASIC, C, COBOL, FORTRAN, PL/I
and Pascal
• Event Driven
– Provided many elements of an object oriented
language
– Includes early versions of Visual Basic
1- 5
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Programming Languages cont.
• Object Oriented
– Programs are not procedural
– User actions cause events to occur
– Includes C# and Visual Basic. NET
1- 6
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
The Object Model
•
•
•
•
Objects – a thing or a noun
Properties – adjectives that describe objects
Methods – actions associated with objects
Events – occur when the user takes an
action or as the result of an action by
another object
• Classes – a template used to create a new
object
1- 7
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Object Model Analogy
• An individual car is an object
• Make, model, color, engine, and number of
doors are properties of the car
• Methods of the car might include Start,
SpeedUp, SlowDown, and Stop
• Events of the car might include Arrive or
Crash
• A car is an instance of the Automobile class
1- 8
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Microsoft’s Visual Studio.NET
• Includes C#, Visual Basic, Visual C++, and
the .NET Framework
• The Framework allows objects from
different languages to operate together
• All .NET languages compile to Microsoft
Intermediate Language (MSIL)
• Managed code runs in the Common
Language Runtime (CLR)
1- 9
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C#
• C# comes with Visual Studio .NET or can
be purchased standalone
• Standalone versions
–
–
–
–
1- 10
Standard Edition
Professional Edition
Enterprise Developer Edition
Enterprise Architect Edition
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Writing C# Programs
• Three step process for planning and creating
the project:
– Setting up the user interface
– Defining the properties
– Creating the code
1- 11
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Planning
• Design the user interface
– Draw a sketch of the screens
– Consult with the user
• Plan the properties
– Write down properties to be set or changed
• Plan the C# code
– Plan classes and methods
– Determine events to code
– Write actions in pseudocode
1- 12
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Programming
• Define the user interface
– Create required forms and controls (objects)
• Set the properties
– Give each object a name
– Define required attributes of each object
• Write the code
– Write C# programming statements to carry out
actions
1- 13
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Application Files
• A solution consists of one or more projects
• Each project can have one or more form
files
• Other files are created when you run your
project
1- 14
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Application Files cont.
• .sln
• .suo
• .cs
• .resx
• .csproj
• .csproj.user
1- 15
The solution file
Solution user options file
Holds definition of a form, its
controls, and code statements
Resource file for a form
A project file
The project user option file
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
The Visual Studio Environment
• Visual Studio is an integrated development
environment (IDE) used by all .NET languages
• The IDE consists of tools including
–
–
–
–
–
–
1- 16
Form designer
Editor
Compiler
Debugger
Object browser
Help facility
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
The Visual Studio Environment
cont.
•
•
•
•
•
The IDE Start Page
The New Project Dialog
The IDE Main Window
The Toolbars
The Document Window
• The Form Designer
• The Solution Explorer
Window
• The Properties Window
• The Toolbox
• Help
1- 17
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Modes
• Design time – Used to design the user
interface and write code
• Run time – Used for testing and running a
project
• Break time – Occurs when you get a runtime error or pause project execution
1- 18
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Writing Your First C# Project
•
For your first C# project, you will create a form with
three controls. This simple project will display the
message “Hello World” in a label when the user clicks the
Push Me button and will terminate when the user clicks
the Exit button.
Set Up Your Workspace
1. Run Visual Studio
2. Start a New Project
–
Do not create a new folder for your project
3. Set Up Your Environment
–
•
1- 19
The “push pin” icon disables AutoHide
Plan the Project
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Writing Your First C# Project
cont.
•
Define the User Interface
1. Set Up the Form
2. Place Controls on the Form
– Right-click a control to display a context menu
– Lock Controls prevents accidental movement of the
controls
1- 20
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Writing Your First C# Project
cont.
•
Set Properties
1.
Set the Name and Text Properties for the Label
•
•
2.
3.
4.
1- 21
In System.Windows.Forms.Label, System.Windows.Forms is
the namespace and Label is the actual class.
The Text property determines what will be displayed on the form.
Set the Name and Text Properties for the First Button
Set the Name and Text Properties for the Second Button
Change the Properties of the Form
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Events
• C# events are caused by user actions
• Write code called event-handling methods
• C# ignores events with no methods
1- 22
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Event-Handling Methods
• A method is a set of statements beginning with a function
header
• Method statements are enclosed in braces {}
• Event handlers are automatically named with format
– ObjectName_EventName
• Basic event-handling method syntax
private void ObjectName_EventName( . . . )
{
Statements in the method
}
1- 23
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Event-Handling Methods
cont.
• private keyword indicates this method can
only be executed by the current class (form)
• void keyword indicates this method does
not return any value when executed
1- 24
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Code Statements
• Comment statement
– Used for project documentation
– Programmers should include comments to clarify their
projects
– Single-line comments begin with double slashes //
Example: //Exit the project
– Multiline comments begin with /* and end with */
Example: /* Programmer: Bradley/Millspaugh
Date:
June 203 */
1- 25
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Code Statements cont.
• Terminate most C# statements with a semicolon (;)
• Assignment statement
–
–
–
–
Assigns a value to a property or variable
Operate from left to right
General form Object.Property = value;
Literals are enclosed in quotation marks
Example: titleLabel.Text = “A Snazzy Program”;
– Numbers and True/False do not use quotation marks
1- 26
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
C# Code Statements cont.
• Syntax to execute a method of an object
Object.Method();
• Methods always have parenthesis
• Properties do not have parenthesis
• Method to terminate execution
this.Close;
• this refers to the current object and can be
omitted
1- 27
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Coding Event-Handling
Methods for Hello World
• Double-click control to add code to event-handling
method
• Indent all lines between the braces
• Leave a blank line after comments at top of method
• IntelliSense pops up list of properties and methods
after typing a period after object name
• The smart editor displays messages at bottom of
screen in the Task List
• Asterisk next to file name in tab to indicate there are
unsaved changes in the file
1- 28
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Run the Project
• Three ways to run the project
– Open the Debug menu and choose Start
– Press the Start button on the toolbar
– Press F5, the shortcut key for the Start
command
1- 29
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Save Your Work
• Files are saved each time you build
(compile) or execute (run) your project
• To manually save, open Visual Studio File
menu and choose Save All
• To close the project, open the File menu and
choose Close Solution
1- 30
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Open a Saved Project
• If project appears on the Start Page, click on
its name
• Click on the Open Project button on the
Start Page and browse for .sln file
• Select Open Solution from the Visual Studio
File menu and browse for .sln file
• Choose the solution from the Files / Recent
Projects menu item
1- 31
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Modify the Project
• The Font property is a Font object with a
number of properties
• The TextAlign property determines the
alignment of text in the control
• The Text property is used to display text on
a button control
1- 32
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Print the Code
•
•
The colors on the screen will appear on
the printed output if you are using a color
printer
To print code:
1. Display code in the Editor window
2. Select File / Print
3. Click OK
1- 33
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Finding and Fixing Errors
• Three types of programming errors:
– Syntax errors
– Run-time errors
– Logic errors
1- 34
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Syntax Errors
• Occur if you break C#’s rules for punctuation,
format, or spelling
• Smart editor finds most syntax errors
• A compile error is an error found by the compiler
• A squiggly line is placed under the part of code
line that the editor cannot interpret
• Double-click on error in Task list to jump to error
line
1- 35
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Run-Time Errors
• Causes project to halt execution
• C# displays dialog box and highlights
statement causing the error
• Statements that cannot execute correctly
cause run-time errors
1- 36
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Logic Errors
• Program runs but produces incorrect results
• These errors are often overlooked
• Check all aspects of the project output
– Computations
– Text
– Spacing
1- 37
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Project Debugging
• Debugging – Finding and fixing “bugs” in
code
• Recompile program after debugging
• A clean compiles means you have zero
syntax errors when you compile your
program
1- 38
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Naming Rules
• Good programmers follow standards. You
should have a set of standards and always
follow them.
• C# naming rules
– C# requires object name to begin with a letter or
an underscore
– Name can contain letters, digits, and underscore
– Name can not contain a space or punctuation
mark
1- 39
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Naming Conventions
• Camel casing – Begin name with a lowercase
letter and capitalize each additional word in the
name
• Append name of control to a meaningful name
• Do not use abbreviations
• Do not keep default names assigned by C#
• Do not name objects with numbers
• Pascal casing – Capitalize first letter of name and
all other words in name of forms and other classes
1- 40
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Visual Studio Help
• Visual Studio Help includes the Microsoft
Developer Network library (MSDN) which
provides:
–
–
–
–
1- 41
Books
Technical articles
Microsoft Knowledge Base
Reference materials for the Visual Studio IDE,
the .NET Framework, C#, Visual Basic, and
C++
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Installing and Running MSDN
• You can run MSDN from
–
–
–
–
A hard drive
A network drive
A CD
The Web
• By default, MSDN is installed on the hard
drive
1- 42
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Viewing Help Topics
•
To view a Help topic:
1. Choose Contents, Index, or Search
2. Select a topic
3. Page appears in the Document window
•
•
•
1- 43
Filter the Help topics with Filtered By
Press F1 for context-sensitive Help
Press Shift + F1 for context-sensitive Help
about the environment
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Managing Windows
• To close a window that is part of a tabbed
window, click the window’s Close button
• To hide a window that is part of a tabbed
window, right-click the tab and select Hide
• To switch to another window that is part of
a tabbed window, click on its tab
1- 44
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Summary
• C# is an object-oriented language used to write GUI
applications.
• The OOP object model uses classes to create objects
with properties, methods, and events.
• C# is part of Visual Studio .NET which has four
editions.
• The languages of the .NET Framework compile to
MSIL and run in the CLR.
• To plan a project, sketch the user interface, list the
objects and properties needed, then plan eventhandling methods.
1- 45
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Summary cont.
• The three steps to create a C# project are define
user interface, set properties, and write code.
• A C# application is called a solution.
• The Visual Studio IDE consists of several tools.
• C# has three modes: design time, run time, and
break time.
• The Visual Studio IDE can be customized.
• Create the user interface by adding controls to a
form.
1- 46
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Summary cont.
• The Name property is used to refer to a control in
code. The Text property holds words to be displayed
on the screen.
• C# code is written in methods.
• Project comments are used for documentation.
• Most C# statements are terminated with semicolon.
• Assignment statements assign a value to a property
or variable.
• The this.Close method terminates program execution.
1- 47
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.
Summary cont.
• Respond to events by writing event handlers.
• Print out C# code for documentation.
• Three types of errors are syntax, run-time, and logic
errors.
• Finding and fixing program errors is called
debugging.
• You must have a clean compile to execute program.
• Use good naming conventions.
• C# Help contains descriptions of all project elements
and their uses.
1- 48
© 2003 by The McGraw-Hill Companies, Inc. All rights reserved.