Welcome to Dr. GUI .NET


Here you'll find descriptions of and links to all of the Dr. GUI .NET articles. A new article is posted the second and fourth Tuesday of every month, unless the good doctor is out on vacation.

Dr. GUI .NET 1.1 Articles

These have been updated for Version 1.1 of the Microsoft® .NET Framework and Visual Studio .NET 2003. Quick links: #0, #1, #2, #3, #4.

  • Dr. GUI .NET 1.1 #0: Introduction to .NET, Hello World, and a Quick Look Inside the .NET Runtime

    Talks about the Microsoft .NET Framework, including why the .NET Framework exists and why you might care, and takes you through developing and running your first .NET Framework program, Hello world! You'll see this program as a console application in Microsoft Visual Basic® .NET and C#, and as a Microsoft® ASP.NET application, again in Visual Basic .NET and C#. It also shows a program to swap two variables, and shows you how to use ILDASM to see the metadata and code inside your program. (See the code.)

    Run the applications:

  • Dr. GUI .NET 1.1 #1: Introduction to .NET Framework Classes and Other Types.
  • Talks about .NET Framework classes and other types, and talks about the members in classes, including the very cool properties. It also demonstrates enumerated types, including flags, and nested classes. Finally, it demonstrates a few cool ASP.NET features: session variables and check box lists, as well as AutoPostBack for text boxes and check boxes. (See the code.)

    Run the applications:

  • Dr. GUI .NET 1.1 #2: Inheritance, Interfaces, and Various Sorts of Polymoprhism.

    Provides a brief review of object-oriented programming, including inheritance, virtual (overridable) methods and properties, interfaces, and how to use these features to achieve polymorphism. (See the code.)

    Run the applications:

  • Dr. GUI .NET 1.1 #3: The Canonical Polymorphism Example (with Windows Forms and an Interactive Bitmap Drawing in ASP.NET)
  • Shows the canonical polymorphism demo, an application that derives drawable objects from a common abstract base class, with the Draw method as the abstract (virtual) method that's overridden. It also demonstrates using an interface to fill the solid objects, and further demonstrates a couple of design patterns you can use to factor out common code when implementing an interface or abstract base class. Finally, and more interestingly, it demonstrates a simple Windows Forms application and, most interestingly, an ASP.NET version of the drawing application that manipulates a bitmap on the server side, all without any assistance whatsoever from client-side script or other client code. It's simple, and it's cool—and you'll want to learn how to do it. (See the code.)

    Run the application.

  • Dr. GUI .NET 1.1 #4 (Updated): Let's Start at the Very Beginning: System.Object and Garbage Collection

    Discusses the mother (and father) of all .NET Framework types, the venerable System.Object (aka "Object"). Because Object is the ultimate base class of all .NET Framework types, the methods of Object are available in all types—so it's very worthwhile to understand them. We also discuss garbage collection, and how to properly use the Dispose method of the IDisposable interface to free unmanaged resources in a timely manner. (See the code.)

    Run the application.

Older Dr. GUI .NET Articles

These articles were written for Version 1.0 of the Microsoft .NET Framework and Visual Studio .NET 2002 (originally written for beta versions, in fact). They will be updated one at a time on the twice-a-month publication schedule described above. Even though they're not brand new and updated, they're still worth reading to if you need to before they're updated. Quicklinks: #5 #6 #7 #8<internal links>

  • Dr. GUI .NET #5 (Updated): Strings in the .NET Framework

    Discusses strings in the .NET Framework. It includes sections on functionality available to all .NET Framework programs, regardless of language, and sections on C#- and Visual Basic .NET-specific string functionality. Also included is a chart describing how the Visual Basic .NET legacy string functions map to the corresponding .NET Framework System.String methods.

  • Dr. GUI .NET #6 (Updated): Arrays in the .NET Framework

    Discusses arrays in the .NET Framework, including single-dimensional arrays, arrays of value and reference types, multi-dimensional arrays, arrays of arrays (ragged-row arrays), and array covariance. We also talk about the off-by-one error caused by Visual Basic .NET allocating one more element than you might expect.

  • Dr. GUI .NET #7 (New): Conway's Game of Life as a Windows Forms Application

    Demonstrates the use of two-dimensional arrays, using Visual Basic .NET, by implementing Conway's Game of Life (invented by the mathematician John Conway in 1970) as a Windows Forms application. Also demonstrates how easy dynamic resizing of Windows Forms is and a simple use of the timer control.

  • Dr. GUI .NET #8 (New): Conway's Game of Life as an ASP.NET Application

    Demonstrates the use of two-dimensional arrays, using Visual Basic .NET, by implementing Conway's Game of Life (invented by the mathematician John Conway in 1970) as an ASP.NET application. Also demonstrates hidden input elements for passing data between server and client, and client-side editing of arrays.

Coming next: All about formatting and parsing in the .NET Framework….

But Wait! There's More!

Holy running code, Batman!

In addition to checking out the articles, you can run all of the ASP.NET applications on the ColdRooster Web site. Big thanks to the MSDN Samples Team for hosting Dr. GUI's applications on http://coldrooster.com.

Want to talk about it?

Feel free to ask questions and share your thoughts about these articles in the message board graciously hosted by the GotDotNet folks.

Dr. GUI also has a blog called Dr. GUI's Bits and Bytes. It's at http://blogs.gotdotnet.com/DrGUI.

A note about old columns

You may remember seeing more columns in the past than you're seeing now. That's because with the release of Microsoft Visual Studio® .NET and the .NET Framework, the good doctor has decided to remove all the old columns that dealt with the beta versions of the .NET Framework. This will avoid confusion caused by differences between the beta versions and the released Visual Studio .NET and .NET Framework SDK.

All the older columns are being revised in order to reflect the released .NET Framework and Visual Studio .NET. The doctor is also improving them to include information about both Visual Basic .NET and ASP.NET.

Dr. GUI is sorry for any inconvenience this might cause you, and he hopes that you'll find the new articles worth the wait.