Vida

Aprenda a programar Winforms en este tutorial de C #

Aprenda a programar Winforms en este tutorial de C #

01 de 05

Tu primera forma de ganar en C #

Cuando crea un nuevo proyecto en Visual C # (o Visual Studio 2003, 2005 o 2008) y selecciona Proyecto Visual C # y Aplicación de Windows, selecciona una ruta para colocar el proyecto en algún lugar, asígnele un nombre como "ex1" y haga clic en Okay. Debería ver algo como el gráfico que lo acompaña. Si no puede ver la Caja de herramientas a la izquierda, haga clic en Ver, luego Caja de instrumento en el menú o Ctrl-Alt-X en el teclado Si desea que la caja de herramientas permanezca abierta, haga clic en el chincheta, justo a la izquierda de Cerrar Toolbox X.

Cambie el tamaño del formulario haciendo clic y arrastrando los controladores derecho o inferior. Ahora haga clic en Botón en la caja de herramientas y arrástrelo al formulario en la esquina inferior derecha. Cambia el tamaño como desees. En la parte inferior derecha del IDE de Visual C # / Visual Studio, debería ver una ventana acoplada llamada Propiedades. Si no puede verlo, haga clic derecho en el botón en el formulario (dirábotón 1) y haga clic en propiedades en la parte inferior del menú emergente que aparece. Esta ventana tiene un alfiler para que pueda cerrarla o mantenerla abierta como desee.

En la ventana Propiedades, debería ver una línea que dice:

Botón (Nombre) 1

Si dice "Form1" en lugar de "button1", accidentalmente hizo clic en el formulario. Simplemente haz clic en el botón. Ahora, haga doble clic donde dicebotón 1 en el Inspector y escriba btnClose. Desplácese hasta la parte inferior del Inspector de propiedades y debería ver:

Botón de texto1

Haga doble clic botón 1, escriba "Cerrar" y presione Entrar. Ahora debería ver que el botón tiene la palabra Cerrar.

02 de 05

Agregar un evento de formulario

Haga clic en el formulario y en el Inspector de propiedades y cambie Texto a Mi primera aplicación. Verá que el título del formulario ahora muestra esto. Haga doble clic en elCerca botón y verá el código C # que se ve así:

privado vacío btnClose_Click (remitente de objeto, System.EventArgs e) {}

Entre las dos llaves agregue:

Cerca();

Hacer clic Construir en el menú superior seguido de Construir solución. Si se compila correctamente (lo que debería), verá las palabras "Compilación correcta" en la línea de estado inferior del IDE. Haga clic en F5 para ejecutar la aplicación y mostrarle un formulario abierto. Haga clic en el Cerca botón para cerrarlo.

Use el Explorador de Windows para encontrar su proyecto. Si llamó al nombre del proyecto y al nombre de la nueva solución "ex1", buscará en ex1 ex1. Haga doble clic en él y verá que la aplicación se ejecuta nuevamente.

Has creado tu primera aplicación. Ahora, agregue funcionalidad.

03 de 05

Agregar funcionalidad a la aplicación C #

Cada formulario que cree tiene dos partes:

  • Vista de diseño, donde suelta controles en el formulario, establece propiedades y agrega código de manejo de eventos
  • Vista de código, donde escribes el código Si no puede ver la parte del código, haga clic en Ver luego Código en el menú superior Debería ver el diseño Form1.cs y las pestañas Form1.cs.

Su primer formulario es una aplicación simple que le permite ingresar una cadena y luego mostrarla. Para agregar un menú simple, seleccione el Diseño Form1 pestaña, haga clic Menú principal en la caja de herramientas y arrástrelo al formulario. Verá que aparece una barra de menú en el formulario, pero el control se muestra en un panel amarillo debajo del formulario. Use esto para seleccionar el control del menú.

Haga clic en la barra de menú en el formulario donde dice "Escriba aquí" y escriba "Archivo". Verás dos tipos aquí. Uno a la derecha para agregar más elementos de menú de nivel superior y uno a continuación para agregar elementos de submenú. Escriba "Restablecer" en el menú superior y salga al submenú Archivo.

Agregue una etiqueta en el formulario cerca de la esquina superior izquierda y establezca el texto en "Ingrese una cadena". Debajo de esto, arrastre un cuadro de texto y cambie su nombre a "EdEntry" y borre el texto para que se vea en blanco. Establezca su propiedad bloqueada en "Verdadero" para evitar que lo mueva accidentalmente.

04 de 05

Agregar una barra de estado y un controlador de eventos

Arrastre una barra de estado al formulario, establezca Bloqueado a "Verdadero" y borre su propiedad de Texto. Si esto oculta el botón Cerrar, muévalo hacia arriba hasta que sea visible. StatusBar tiene un control de cambio de tamaño en la esquina inferior derecha, pero si compila y ejecuta esto, el botón Cerrar no se mueve cuando cambia el tamaño del formulario. Esto se soluciona fácilmente cambiando la propiedad de anclaje del formulario para que se fijen los anclajes inferior y derecho. Cuando cambie la propiedad de anclaje, verá cuatro barras en la parte superior, izquierda, inferior y derecha. Haz clic en los que quieras usar. Para este ejemplo, queremos establecer la parte inferior y la derecha, así que borre las otras dos, que está configurada de manera predeterminada. Si tiene los cuatro conjuntos, entonces el botón se estira.

Agregue una etiqueta más debajo de TextBox y asígnele el nombre labelData. Ahora seleccione el Caja de texto y en el Inspector de propiedades, haga clic en el Relámpago Icono. Esto muestra todos los eventos que puede hacer un TextBox. El valor predeterminado es "TextChanged", y eso es lo que usa. Seleccione el cuadro de texto y haga doble clic en él. Esto crea un controlador de eventos vacío, así que agregue estas dos líneas de código entre las llaves {} y compile y ejecute la aplicación.

labelData.Text = EdEntry.Text; statusBar1.Text = EdEntry.Text;

Cuando la aplicación se esté ejecutando, haga clic en TextBox y comience a escribir. Verá que los caracteres que escribe aparecen dos veces, una debajo del cuadro y otra en la barra de estado. El código que hace eso está en un controlador de eventos (se conoce como delegado en C #).

privado vacío EdEntry_TextChanged (remitente del objeto, System.EventArgs e) {labelData.Text = EdEntry.Text; statusBar1.Text = EdEntry.Text; }05 de 05

Revisión de lo que se ha cubierto

Cada control en un formulario es una instancia de una clase System.Windows.Forms y se crea en el método InitializeComponent (). Puede agregar o editar código aquí. Por ejemplo, en el // menuItem2 sección, agregue esto al final y compile / ejecute.

this.menuItem2.Visible = false;

Ahora debería verse así:

… // menuItem2 // this.menuItem2.Index = 1; this.menuItem2.Text = "& Reset"; this.menuItem2.Visible = false; ...

Falta el elemento de menú Restablecer. Salga del programa y, en las propiedades de este elemento del menú, verá que la propiedad Visible es falsa. Cambie esta propiedad en el diseñador, y el código en Form1.cs agregará y luego eliminará la línea. El Editor de formularios es ideal para crear fácilmente interfaces gráficas de usuario sofisticadas, pero todo lo que está haciendo es manipular su código fuente.

Agregar un delegado dinámicamente

Establezca el menú Restablecer visible pero establezca Habilitado en falso. Cuando ejecute la aplicación, la verá deshabilitada. Ahora agregue un CheckBox, llámelo cbAllowReset y configure el texto en "Permitir restablecimiento". Haga doble clic en la casilla de verificación para crear un controlador de eventos ficticio e ingrese esto:

menuItem2.Enabled = cbAllowReset.Checked;

Cuando ejecuta la aplicación, puede habilitar el elemento Restablecer menú haciendo clic en la casilla de verificación. Todavía no hace nada, así que agrega esta función escribiéndola.No hagas doble clic el elemento del menú Restablecer.

privado vacío EdEntry_ResetClicked (remitente del objeto, System.EventArgs e) {EdEntry.Text = ""; }

Si ejecuta la aplicación, cuando se hace clic en Restablecer, no sucede nada, porque el evento Restablecer no se une al Restablecer clic. Agregue esta instrucción if a cbAllow_ResetCheckedChanged () justo después de la línea que comienza:

menuItem2.Enabled = cbAllowReset.Checked; if (menuItem2.Enabled) {this.menuItem2.Click + = new System.EventHandler (this.EdEntry_ResetClicked); }

La función ahora debería verse así:

privado vacío cbAllowReset_CheckedChanged (remitente del objeto, System.EventArgs e) {menuItem2.Enabled = cbAllowReset.Checked; if (menuItem2.Enabled) {this.menuItem2.Click + = new System.EventHandler (this.EdEntry_ResetClicked); }}

Cuando lo ejecute ahora, escriba un texto en el cuadro, haga clic en la casilla de verificación y haga clic en Reiniciar. El texto se borra. Esto agregó el código para conectar un evento en tiempo de ejecución.