Web Resourses:
UML
XML, HTML
Code Project
Microsoft Developer's Network
DevelopMentor
XML
Sells Brothers
Windows Developer's Journal
WindowsClient.net
DotNetJunkies
dotnet quickstart tutorials
C# Corner
Mono Project
Performance Counters
Content:
This lecture is an introduction to Graphical User Interface programming.
Today we will review where we are now, briefly discuss program structures, and then review GUI basics
in preparation for studying Windows Presentation Foundation.
The class text does not cover WPF.
- The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
-
Projects:
Project #2, Project #3, Project #4, Project2HelpF2018, Project3HelpF2018 Project4HelpF2018, CsMessagePassingComm classes, CsMessagePassingComm activities Instructor's Solution for Project #2 Help for Message-Passing Communication
Blog: message-passing communication, This blog entry and Communication Channel diagram show a very good way to build communication infrastructure.C++ Comm with File Transfer, C++ Comm class diagram, docx
This is a quite complete implementation of a message-passing channel using C++. It's here to show you how to do important operations without building the WCF channel for you.Simple prototype for Message-Passing Communication - CommPrototype
Demonstrates passing messages and getting replies for two clients and one server. Illustrates server returning replies to the concurrent client that sent the message. Does not implement file transfer (see next example).Prototype WCF Message-Passing Communication channel - CsMessagePassingComm, Class Diagram, Activity Diagram,
Implements asynchronous message passing and file transfer using the WCF Framework. This is very close to what you will need for Project #4.Prototype WPF GUI for Pluggable Repository
This is a WPF GUI demo, developed to test ideas for a Pluggable Repository I built for CSE681-OnLine. We will look at this when we get to WPF.Remote Pluggable Repository
This is a quite complete Pluggable Repository with versioning, checkin and checkout, browsing, and file synchronization. It's linked here because it uses the CsMessagePassingComm channel. - Submitting Projects
-
Where are we?
Let's summarize where we have traveled so far: -
Software Architecture and Operational Concept Documents
We've discussed Software Architecture (pdf, ppt), the structure of OCDs e.g.,
Uses and Users, Partitions and their responsiblities and interactions, and Critical issues. -
.Net functionalities
Features of C# language hosted in the CLR:Demo Command Line and File Handling
.Net Containers
Passing Method Parameters, Parameter Passing Diagram
conversions Demo
Type Testing and Coercions Demo Delegate Demos
Various ways of declaring and using delegates Lambdas and Lambda capture
LambdaDemos
Extension Methods
lambdas and extension methods that support LINQ LINQ Presentation - pdf, LINQ Presentation - pptx
LINQ Query Examples from presentation
LINQ Queries on Collections
LINQ Queries
LINQ to XML
Create XML with XDocument
Older forms of XML processing
LINQ Bindings
LINQ to SQL Example -
Using Dynamic Link Libraries (DLLs)
Shows how to build and execute dynamic link libraries. -
C# Programming
Semantics of Parameter Passing
C# Programming (pdf, ppt)
What next?
This lecture is an introduction to GUI-based windows programs.
We will discuss creating Windows Applications using the windows API, WinForms, and Windows Presentation Foundation (WPF).
A lot of this we do by example. -
-
System Structure:
-
WinForms
WinForm Examples
We will not discuss the examples on this page. It's here so that, should you find yourself needing to build WinForm applications, you have a place to find examples. -
Windows GUI Programming - Background and Demos:
-
WPF Presentation
-
WPF Tutorials:
WPF Tutorial.Net - excellent reference
WPF - MSDN
Getting Started with WPF - MSDN
MVVM model takes advantage of WPF data binding
WPF/MVVM Quick Start
Youtube Video building a basic WPF project