Creating Your First C#
Windows Program
What’s a program?
What is a program? In one sense, a Windows program is an executable file that
you can run by double-clicking its icon. For example, the version of Microsoft
Word that I’m using to write this book is a program. You call that an executable
program, or executable for short. The names of executable program files generally
end with the extension .exe.
But a program is something else, as well. An executable program consists
of one or more source files. A C# program file is a text file that contains a
sequence of C# commands, which fit together according to the laws of C#
grammar. This file is known as a source file, probably because it’s a source of
frustration and anxiety.
What’s C#?
The C# programming language is one of those intermediate languages that
programmers use to create executable programs. C# fills the gap between the
powerful-but-complicated C++ and the easy-to-use-but-limited Visual Basic —
well, versions 6.0 and earlier, anyway. (Visual Basic’s newer .NET incarnation
is almost on par with C# in most respects. As the flagship language of .NET,
C# tends to introduce most new features first.) A C# program file carries the
extension .CS.
C# is
_ Flexible: C# programs can execute on the current machine, or they can
be transmitted over the Web and executed on some distant computer.
_ Powerful: C# has essentially the same command set as C++, but with the
rough edges filed smooth.
_ Easier to use: C# modifies the commands responsible for most C++
errors so you spend far less time chasing down those errors.
_ Visually oriented: The .NET code library that C# uses for many of its
capabilities provides the help needed to readily create complicated display
frames with drop-down lists, tabbed windows, grouped buttons,
scroll bars, and background images, to name just a few.
_ Internet friendly: C# plays a pivotal role in the .NET Framework,
Microsoft’s current approach to programming for Windows, the Internet,
and beyond. .NET is pronounced dot net.
_ Secure: Any language intended for use on the Internet must include
serious security to protect against malevolent hackers.
Finally, C# is an integral part of .NET.
What’s .NET?
.NET began a few years ago as Microsoft’s strategy to open up the Web to
mere mortals like you and me. Today it’s bigger than that, encompassing
everything Microsoft does. In particular, it’s the new way to program for
Windows. It also gives a C-based language, C#, the simple, visual tools that
made Visual Basic so popular. A little background will help you see the roots
of C# and .NET.
Internet programming was traditionally very difficult in older languages like C
and C++. Sun Microsystems responded to that problem by creating the Java
programming language. To create Java, Sun took the grammar of C++, made it
a lot more user friendly, and centered it around distributed development.
When programmers say “distributed,” they’re describing geographically dispersed
computers running programs that talk to each other — in many cases,
via the Internet.
When Microsoft licensed Java some years ago, it ran into legal difficulties with
Sun over changes it wanted to make to the language. As a result, Microsoft
more or less gave up on Java and started looking for ways to compete with it.
Being forced out of Java was just as well because Java has a serious problem:
Although Java is a capable language, you pretty much have to write your
entire program in Java to get its full benefit. Microsoft had too many developers
and too many millions of lines of existing source code, so Microsoft had
to come up with some way to support multiple languages. Enter .NET.
.NET is a framework, in many ways similar to Java’s libraries, because the C#
language is highly similar to the Java language. Just as Java is both the language
itself and its extensive code library, C# is really much more than just
the keywords and syntax of the C# language. It’s those things empowered by
a thoroughly object-oriented library containing thousands of code elements
that simplify doing about any kind of programming you can imagine, from
Web-based databases to cryptography to the humble Windows dialog box.
The previous generation platform was made up of a hodgepodge of tools
with cryptic names. .NET updates all that with Visual Studio 2005, with more
focused .NET versions of its Web and database technologies, newer versions
of Windows, and .NET-enabled servers. .NET supports emerging communication
standards such as XML and SOAP rather than Microsoft’s proprietary
formats. Finally, .NET supports the hottest buzzwords since object-oriented:
Web Services.
Microsoft would claim that .NET is much superior to Sun’s suite of Web tools
based on Java, but that’s not the point. Unlike Java, .NET does not require
you to rewrite existing programs. A Visual Basic programmer can add just a
few lines to make an existing program “Web knowledgeable” (meaning that
it knows how to get data off the Internet). .NET supports all the common
Microsoft languages and more than 40 other languages written by third-party
vendors (see www.gotdotnet.com/team/lang for the latest list). However,
C# is the flagship language of the .NET fleet. C# is always the first language to
access every new feature of .NET.
What is Visual Studio 2005?
What about Visual C#?
You sure ask lots of questions. The first “Visual” language from Microsoft was
Visual Basic, code-named “Thunder.” The first popular C-based programming
language from Microsoft was Visual C++. Like Visual Basic, it was called
“Visual” because it had a built-in graphical user interface (GUI — pronounced
gooey). This GUI included everything you needed to develop nifty-giffy C++
programs.
Eventually, Microsoft rolled all its languages into a single environment —
Visual Studio. As Visual Studio 6.0 started getting a little long in the tooth,
developers anxiously awaited Version 7. Shortly before its release, however,
Microsoft decided to rename it Visual Studio .NET to highlight this new environment’s
relationship to .NET.
That sounded like a marketing ploy to me until I started delving into it. Visual
Studio .NET differed quite a bit from its predecessors — enough so to warrant
a new name. Visual Studio 2005 is the successor to the original Visual Studio
.NET. (See Bonus Chapter 4 on the CD for a tour of some of Visual Studio’s more
potent features.)
Microsoft calls its implementation of the language Visual C#. In reality, Visual
C# is nothing more than the C# component of Visual Studio. C# is C#, with or
without the Visual Studio.
Creating a Windows Application with C#
To help you get your feet wet with C# and Visual Studio, this section takes you
through the steps for creating a simple Windows program. Windows programs
are commonly called Windows applications, WinApps or WinForms apps for
short.
Because this book focuses on the C# language, it’s not a Web-programming
book, a database book, or a Windows programming book per se. In particular,
this chapter constitutes the only coverage of Windows Forms visual programming.
All I have room to do is give you this small taste.
In addition to introducing Windows Forms, this program serves as a test of
your Visual Studio environment. This is a test; this is only a test. Had it been
an actual Windows program . . . Wait, it is an actual Windows program. If you
can successfully create, build, and execute this program, your Visual Studio
environment is set up properly, and you’re ready to rock.
Creating the template
Writing Windows applications from scratch is a notoriously difficult process.
With numerous session handles, descriptors, and contexts, creating even a
simple Windows program poses innumerable challenges.
Visual Studio 2005 in general and C# in particular greatly simplify the task of
creating your basic WinApp. To be honest, I’m a little disappointed that you
don’t get to go through the thrill of doing it by hand. In fact, why not switch
over to Visual C++ and . . . okay, bad idea.
Because Visual C# is built specifically to execute under Windows, it can shield
you from many of the complexities of writing Windows programs from scratch.
In addition, Visual Studio 2005 includes an Applications Wizard that builds
template programs.
Typically, template programs don’t actually do anything — at least, not anything
useful (sounds like most of my programs). However, they do get you
beyond that initial hurdle of getting started. Some template programs are reasonably
sophisticated. In fact, you’ll be amazed at how much capability the
App Wizard can build on its own.
After you’ve completed the Visual Studio 2005 installation, follow these steps
to create the template:
1. To start Visual Studio, choose Start➪All Programs➪Microsoft Visual
Studio 2005➪Microsoft Visual Studio 2005, as shown in Figure 1-1.
After some gnashing of CPU teeth and thrashing of disk, the Visual
Studio desktop appears. Now things are getting interesting.
2. Choose File➪New➪Project, as shown in Figure 1-2.
Visual Studio responds by opening the New Project dialog box, as shown
in Figure 1-3.
A project is a collection of files that Visual Studio builds together to
make a single program. You’ll be creating C# source files, which carry
the extension .CS. Project files use the extension .CSPROJ.
download here the complete source
link1
link2
direct link3
No comments:
Post a Comment