The evolution of C#
Introduction and Evolution
- About the .Net Framework
- The Common Language Runtime
- Assemblies
- .NET Types
- Working with Namespaces
- Browsing .NET Namespaces
- Working in Visual Studio.NET
- Using the Command-Line Compiler
- Creating a Console Application
Data & Value Types
- Declaring & Initializing Variables
- Declaring Member Access
- Constants
- Signed & Unsigned Types
- CLS-Compliant Types
- Literals
- Type Converting
- System.Convert Classes
- System.Convert Shortcuts
- Formatting Type Output
- Arithmetic Operations
Reference Types & More
- Value & Reference Types
- Boxing & Unboxing
- String Reference Types
Core Programming
- Expressions
- Statements & Blocks
- for Loops
- foreach/in Loops
- while & do while Loops
- Relational & Equality Operators
- if/else Statements
- Switch Statements
- Exception Handling
- try/catch & finally
- Multipe Catches & More
ARRAYS
- Single Dimension
- Multi Dimension
- Jagged Arrays
Enums & Structures
- Enums (Enumerations)
- Working with Enums
- Working with Enums Structs
Classes & Objects
Defining Classes
- Defining Classes Fields
- Properties
- Methods & Passing Parameters
- Creating & Destroying Objects
- Member Access Modifiers & Scope
- Overloading Methods & Constructors
- Static Methods & Fields
- Static Methods & Fields
Polymorphism Introduction
- Static polymorphism
- Dynamic Polymorphism
- Implementing Function Overloading
- Function Signature
- Implementing Operator Overloading
Inheritance
- Identifying Relationship between Classes
- Using Classes and Inheritance
- Using Abstract Classes
- Using Virtual Functions
- Using Sealed Classes
- Interfaces
File Input and Output
- File Input and Output Operations
- File Stream Classes
- Reading and Writing in Text Files
- Stream Reader and Stream Writer Classes
- Reading and Writing Binary Files
- Implementing Windows File System using Directory Info and FileInfo Classes
Exception Handling
- Describing Exceptions
- Handling Exceptions
- Implementing User Defined Exceptions
Delegate and Events
- Introducing Delegates
- Declaring Delegates
- Types of Delegates
- Working with Events
- Passing event Parameters
Creating Multithreaded Applications
- Implementing Threads
- Thread Life Cycle
- Identifying Thread Priority
- Synchronization in Threads
WINDOWS APPLICATIONS USING C#.NET
Introduction to Windows Forms
.NET Does Windows | Adding Controls to a Form | A Peek behind the Scenes | Adding Event Handling Code | Adding a Menu to the Form | Adding Non-Graphical Components
Taking Advantage of the Form Event Model
How C# Handles Events | Exploring Form and Control Events
Common Windows Forms Controls
Label, TextBox, and Button | CheckBox and RadioButton | ComboBox, ListBox, and CheckedListBox | LinkLabel, NumericUpdown, PictureBox and ProgressBar
Exception Handling
Perspectives on Exception Handling | Getting Started with Exception Handling | Catching Specific Exceptions | Raising Errors | Running Code Unconditionally | Handling Unhandled Exceptions | Creating Exception Classes
Working with Strings and Dates
Basic .NET Data Types | Working with Text: The String Class | Working with Dates and Times
Accessing Data
Overview of ADO.NET | Connecting to Data | Executing Commands | Working with Data | Choosing an ADO.NET Provider
Data Binding Techniques
Data Binding Basics | Creating a Data Source | Creating Data-Bound Forms | Data Binding Components and Controls |
Displaying Data from Related Tables | Displaying Data from Lookup Tables | Adding Search Capabilities to a Form | Filtering by Values from a Lookup Table | Data Validation | Working with Local Data
Using the Data Controls
Data Controls | The BindingNavigator Control | The BindingSource Component | The DataGridView Control | The ReportViewer Control
Handling Input/Output Tasks
Introducing the System.IO Namespace | Selecting Files | Browsing for Folders | Handling Path Information | Working with Directories and Files | Using Stream-Based Objects to Read and Write File Contents
Project Settings in Visual Studio 2008
The Project Designer | Application Properties | Compilation Properties | Debugging Properties | Project References | Project Resources | Project Settings
Debugging Your Applications
Debugging Applications | Setting Breakpoints and Stepping through Code | Debugging Code in Assemblies | Evaluating Variables and Objects | Edit and Continue | Tracing Applications
Container Controls
Introducing Container Controls | Grouping Controls with the GroupBox Control | Introducing the Panel Control | Displaying Multiple Panels with the SplitContainer Control | Laying out Panels with the TabControl Control |
Menus and Toolbars
Introducing the ToolStrips | Working with the ToolStrips
Creating MDI Applications
MDI Applications | MDI Parent and Child Forms | Managing Open Windows | Managing Menus | Working with Open Forms
Complex Windows Forms Controls
Introducing Complex Controls | NotifyIcon Control | WebBrowser Control | MaskedTextBox Control | RichTextBox Control | TreeView and ListView Controls | MonthCalendar and DateTimePicker Controls
Creating Custom Controls
Control Creation in Windows Forms | Inheriting from an Existing Control | Drawing Your Own Custom Controls | Creating Composite Controls
Working with Toolbox Components
Introducing Components | Timer Component | BackgroundWorker Component | FileSystemWatcher Component | PerformanceCounter Component | Process Component | ServiceController Component | EventLog Component
Interoperability
COM and .NET | Calling COM Objects from .NET | Calling .NET Assemblies from COM | Using Platform Invoke | Web Services
Deploying Applications Using Click-Once
ClickOnce Deployment | Publishing an Application | Setting Publish Options | Updating a Deployed Application | What Happens When You Publish an Application? | What Happens When You Publish an Update to an Application? | ClickOnce and Security | Using the Deployment API to Manage Updates |