How to Create Windows Forms in C#


Learn how to create a basic Windows Forms application using C#.

Most published C# books and tutorials illustrate C# programming concepts with console applications. However, console applications have very limited use in writing practical Windows applications. It is more fun to learn C# with Windows Forms or Windows Presentation Foundation (WPF). I have chosen to use Windows Forms for these tutorials because the development process with WPF is considerably more complex - it involves other .NET technologies not directly related to C# programming (for example, XAML).

I will first demonstrate how to build a very basic Windows Forms application. Then, in Advanced Introduction to C# with Windows Forms - Part 2, I will show you how to build a Windows Forms application that illustrates rudimentary string operations.


This advanced tutorial is not intended as an introductory programming tutorial. There are many good C# books and on-line resources that you can read in parallel with this tutorial. In the reference section you will find several most popular C# tutorials and free C# books, as well as the development software you will need to work on these projects.

Creating a Basic Windows Forms Application

  1. To create a Windows Forms Application project, on the menu bar, select File, New, Project.

    New Project
  2. Select Visual C# in the Installed Templates list. In the templates list, choose the Windows Forms Application icon. Name the new project BasicApp, and then click the OK button. Visual Studio creates a solution for your project. The following screenshot shows what you should see:

    New App
  3. Change the title of the Windows Form by clicking on the form to select it. In the Properties window, select the text "Form1," and type Basic App, press Enter. You observe that the text at the top of your Windows Form has changed to Basic App.

  4. Add a button. From the Toolbox, in the Common Controls category, drag a Button control to the Windows Form. Change the Text property to GO instead of button1.
  5. Add a label. From the Toolbox, in the Common Controls category, drag a Label control to the Windows Form. Change the Text property to What is your name? instead of label1.
  6. Add a text box. From the Toolbox, in the Common Controls category, drag a TextBox control to the Windows Form.
  7. Add an event handler for the Button control. Double-click the button, and you will observe the code for your project:

    Blank Code
  8. This is the event handler for the button click event when the user clicks the button:

     private void button1_Click(object sender, EventArgs e) { } 
  9. Add the following code to the event handler method:

    private void button1_Click(object sender, EventArgs e) 
    label1.Text = "I see, your name is " + textBox1.Text + ".";
  10. Build and run the program. Press F5 (or Control-F5) to build and run the program. The Windows Form is displayed on the screen. Click the GO button. It then displays the following:

    Run App
  11. You can download, build and run this application from: Source code


Development Tools

On your development system, you need to install Visual Studio Express 2013 for Windows Desktop from this link: If you have access to any other Visual Studio edition, such as Visual Studio Professional, you can certainly use it as well.

Popular Tutorials

Free C# Books



  • is this a joke?

    Posted by anie on 08/19/2015 08:49am

    This is not advanced! learn to name your thinge don't waste my time!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • On-demand Event Event Date: November 17, 2015 Although enterprise adoption of open source has accelerated, some are still wary of it. But not all open source technologies are the same: some are designed with enterprises in mind. In this webinar, we'll discuss trends in open source development, innovation impacts, and what it means for the future.

  • Moving from an on-premises environment to Office 365 does not remove the need to plan for disruptions or reduce the business risk requirements for protecting email services. If anything, some risks increase with a move to the cloud. Read how to ease the transition every business faces if considering or already migrating to cloud email. This white paper discusses: Setting expectations when migrating to Office 365 Understanding the implications of relying solely on Exchange Online security Necessary archiving …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date