Cómo: crear una aplicación de Windows Forms desde la línea de comandosHow to: Create a Windows Forms application from the command line

Los procedimientos siguientes describen los pasos básicos que debe seguir para crear y ejecutar una aplicación de Windows Forms desde la línea de comandos.The following procedures describe the basic steps that you must complete to create and run a Windows Forms application from the command line. Visual Studio es altamente compatible con estos procedimientos.There is extensive support for these procedures in Visual Studio. Vea también Tutorial: hospedar un control de Windows Forms en WPF.Also see Walkthrough: Hosting a Windows Forms Control in WPF.

ProcedimientoProcedure

Para crear el formularioTo create the form

  1. En un archivo de código vacío, escriba las Imports siguientes using instrucciones o:In an empty code file, type the following Imports or using statements:

    using System;
    using System.ComponentModel;
    using System.Drawing;
    using System.Windows.Forms;
    
    Imports System.ComponentModel
    Imports System.Drawing
    Imports System.Windows.Forms
    
  2. Declare una clase denominada Form1 que herede de la clase de formulario:Declare a class named Form1 that inherits from the Form class:

    public class Form1 : Form
    
    Public Class Form1
        Inherits Form
    
  3. Cree un constructor sin parámetros para Form1 .Create a parameterless constructor for Form1.

    Agregará más código al constructor en un procedimiento posterior.You will add more code to the constructor in a subsequent procedure.

    public Form1() {}
    
    Public Sub New()
    
    End Sub
    
  4. Agregue un método Main a la clase.Add a Main method to the class.

    1. Aplique STAThreadAttribute al método de C# Main para especificar que la aplicación Windows Forms es un contenedor uniproceso.Apply the STAThreadAttribute to the C# Main method to specify your Windows Forms application is a single-threaded apartment. (El atributo no es necesario en Visual Basic, ya que las aplicaciones de Windows Forms desarrolladas con Visual Basic usan de forma predeterminada un modelo de apartamento de un solo subproceso).(The attribute is not necessary in Visual Basic, since Windows forms applications developed with Visual Basic use a single-threaded apartment model by default.)

    2. Llame EnableVisualStyles a para aplicar estilos de sistema operativo a la aplicación.Call EnableVisualStyles to apply operating system styles to your application.

    3. Cree una instancia del formulario y ejecútela.Create an instance of the form and run it.

    [STAThread]
    public static void Main()
    {
      Application.EnableVisualStyles();
      Application.Run(new Form1());
    }
    
    
        Public Shared Sub Main()
            Application.EnableVisualStyles()
            Application.Run(New Form1())
    
        End Sub
    End Class
    

Para compilar y ejecutar la aplicaciónTo compile and run the application

  1. En el símbolo del sistema de .NET Framework, vaya al directorio donde creó la clase Form1.At the .NET Framework command prompt, navigate to the directory you created the Form1 class.

  2. Compile el formulario.Compile the form.

    • Si usa C#, escriba: csc form1.csIf you are using C#, type: csc form1.cs

      -or-

    • Si está utilizando Visual Basic, escriba: vbc form1.vbIf you are using Visual Basic, type: vbc form1.vb

  3. En el símbolo del sistema, escriba: Form1.exeAt the command prompt, type: Form1.exe

Agregar un control y controlar un eventoAdding a control and handling an event

Los pasos del procedimiento anterior muestran cómo crear un Windows Form básico que se compila y se ejecuta.The previous procedure steps demonstrated how to just create a basic Windows Form that compiles and runs. El procedimiento siguiente mostrará cómo crear y agregar un control al formulario y cómo controlar un evento del control.The next procedure will show you how to create and add a control to the form, and handle an event for the control. Para obtener más información sobre los controles que se pueden agregar a Windows Forms, vea controles de Windows Forms.For more information about the controls you can add to Windows Forms, see Windows Forms Controls.

Además de comprender cómo se crean las aplicaciones de Windows Forms, debe conocer la programación basada en eventos y cómo controlar la entrada de datos del usuario.In addition to understanding how to create Windows Forms applications, you should understand event-based programming and how to handle user input. Para obtener más información, vea crear controladores de eventos en Windows Formsy controlar los datos proporcionados por el usuario.For more information, see Creating Event Handlers in Windows Forms, and Handling User Input

Para declarar un control de botón y controlar su evento de clicTo declare a button control and handle its click event

  1. Declare un control de botón llamado button1.Declare a button control named button1.

  2. En el constructor, cree el botón y establezca sus propiedades Size, Location y Text.In the constructor, create the button and set its Size, Location and Text properties.

  3. Agregue el botón al formulario.Add the button to the form.

    En el ejemplo de código siguiente se muestra cómo declarar el control de botón:The following code example demonstrates how to declare the button control:

    public Button button1;
    public Form1()
    {
        button1 = new Button();
        button1.Size = new Size(40, 40);
        button1.Location = new Point(30, 30);
        button1.Text = "Click me";
        this.Controls.Add(button1);
        button1.Click += new EventHandler(button1_Click);
    }
    
    Public WithEvents button1 As Button
    
    Public Sub New()
        button1 = New Button()
        button1.Size = New Size(40, 40)
        button1.Location = New Point(30, 30)
        button1.Text = "Click me"
        Me.Controls.Add(button1)
       
    End Sub
    
  4. Cree un método para controlar los eventos Click del botón.Create a method to handle the Click event for the button.

  5. En el controlador de eventos de clic, muestre un MessageBox con el mensaje "Hello World".In the click event handler, display a MessageBox with the message, "Hello World".

    En el ejemplo de código siguiente se muestra cómo controlar el evento click del control Button:The following code example demonstrates how to handle the button control's click event:

    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Hello World");
    }
    
    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As EventArgs) Handles button1.Click
        MessageBox.Show("Hello World")
    End Sub
    
  6. Asocie el evento Click con el método que se ha creado.Associate the Click event with the method you created.

    En el ejemplo de código siguiente se muestra cómo asociar el evento con el método.The following code example demonstrates how to associate the event with the method.

    button1.Click += new EventHandler(button1_Click);
    
    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As EventArgs) Handles button1.Click
    
  7. Compile y ejecute la aplicación tal y como se describe en el procedimiento anterior.Compile and run the application as described in the previous procedure.

EjemploExample

El ejemplo de código siguiente es el ejemplo completo de los procedimientos anteriores:The following code example is the complete example from the previous procedures:

using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;

namespace FormWithButton
{
    public class Form1 : Form
    {
        public Button button1;
        public Form1()
        {
            button1 = new Button();
            button1.Size = new Size(40, 40);
            button1.Location = new Point(30, 30);
            button1.Text = "Click me";
            this.Controls.Add(button1);
            button1.Click += new EventHandler(button1_Click);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Hello World");
        }
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.Run(new Form1());
        }
    }
}
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
    Inherits Form
    Public WithEvents button1 As Button

    Public Sub New()
        button1 = New Button()
        button1.Size = New Size(40, 40)
        button1.Location = New Point(30, 30)
        button1.Text = "Click me"
        Me.Controls.Add(button1)
       
    End Sub
   
    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As EventArgs) Handles button1.Click
        MessageBox.Show("Hello World")
    End Sub

    <STAThread()> _
    Shared Sub Main()
        Application.EnableVisualStyles()
        Application.Run(New Form1())

    End Sub
End Class

Vea tambiénSee also