Guía de escritorio (.NET para Windows Forms)

Le damos la bienvenida a la Guía de escritorio de Windows Forms, un marco de interfaz de usuario que crea aplicaciones cliente enriquecidas de escritorio para Windows. La plataforma de desarrollo Windows Forms admite un amplio conjunto de características de desarrollo de aplicaciones, incluidos controles, gráficos, enlace de datos y entrada del usuario. Windows Forms incluye un diseñador visual de arrastrar y colocar en Visual Studio para crear fácilmente aplicaciones de Windows Forms.

Importante

La documentación de la Guía de escritorio para .NET 6 y .NET 5 (incluido .NET Core 3.1) está en elaboración.

Hay dos implementaciones de Windows Forms:

  1. La implementación de código abierto hospedada en GitHub.

    Esta versión se ejecuta en .NET Core 5 + (y .NET Core 3.1). El diseñador visual de Windows Forms requiere, como mínimo, Visual Studio 2019 versión 16.8.

    La versión más reciente de Windows Forms es para .NET 6 usando la Visual Studio 2022, versión 17.0.

  2. La implementación de .NET Framework 4 compatible con Visual Studio 2022, Visual Studio 2019 y Visual Studio 2017.

    .NET Framework 4 es una versión de .NET solo para Windows y se considera un componente del sistema operativo Windows. Esta versión de Windows Forms se distribuye con .NET Framework.

Esta Guía de escritorio está escrita para Windows Forms en .NET 5 y versiones posteriores. Para obtener más información sobre la versión de Windows Forms para .NET Framework, vea Windows Forms para .NET Framework.

Introducción

Windows Forms es un marco de interfaz de usuario para compilar aplicaciones de escritorio de Windows. Proporciona una de las formas más productivas de crear aplicaciones de escritorio basadas en el diseñador visual proporcionado en Visual Studio. Funciones como la colocación de controles visuales mediante arrastrar y colocar facilita la compilación de aplicaciones de escritorio.

Con Windows Forms, puede desarrollar aplicaciones enriquecidas gráficamente que son fáciles de implementar, y actualizar, y con las que se puede trabajar sin conexión o mientras están conectadas a Internet. Las aplicaciones de Windows Forms pueden acceder al hardware local y al sistema de archivos del equipo en el que se ejecutan.

Para obtener información sobre cómo crear una aplicación de Windows Forms, vea Tutorial: Creación de una aplicación de WinForms.

Por qué migrar desde .NET Framework

Windows Forms para .NET 6.0 proporciona nuevas características y mejoras con respecto a .NET Framework. Para obtener más información, vea Novedades de Windows Forms para .NET 6 y .NET 5. Para obtener información sobre cómo migrar una aplicación, vea Procedimiento para migrar una aplicación de escritorio de Windows Forms a .NET 5.

Compilación de interfaces de usuario completas e interactivas

Windows Forms es una tecnología de interfaz de usuario para .NET, un conjunto de bibliotecas administradas que simplifican las tareas comunes de las aplicaciones, como leer y escribir en el sistema de archivos. Cuando se usa un entorno de desarrollo como Visual Studio, se pueden crear aplicaciones cliente inteligentes de Windows Forms que muestren información, soliciten la entrada a los usuarios y se comuniquen con equipos remotos a través de una red.

En Windows Forms, un formulario es una superficie visual en la que se muestra información al usuario. Normalmente, las aplicaciones de Windows Forms se compilan mediante la adición de controles a formularios y el desarrollo de respuestas a las acciones del usuario, como clics del mouse o pulsaciones de teclas. Un control es un elemento de interfaz de usuario (IU) discreto que muestra datos o acepta la entrada de datos.

Cuando un usuario realiza una acción en un formulario o en uno de sus controles, la acción genera un evento. La aplicación reacciona a estos eventos mediante código y procesa los eventos cuando se producen.

Windows Forms contiene diversos controles que puede agregar a los formularios: controles que muestran cuadros de texto, botones, cuadros desplegables, botones de radio e incluso páginas web. Si un control existente no satisface las necesidades, Windows Forms también permite crear controles personalizados mediante la clase UserControl.

Windows Forms tiene controles de interfaz de usuario enriquecidos que emulan las características de aplicaciones de tecnología avanzada como Microsoft Office. Los controles ToolStrip y MenuStrip permiten crear barras de herramientas y menús que contienen texto e imágenes, muestran submenús y hospedan otros controles como cuadros de texto y cuadros combinados.

Con el Diseñador de Windows Forms de arrastrar y colocar de Visual Studio, puede crear fácilmente aplicaciones de Windows Forms. Simplemente seleccione los controles con el cursor y colóquelos donde quiera en el formulario. El diseñador proporciona herramientas como líneas de cuadrícula y líneas de ajuste para minimizar la molestia de alinear los controles. Puede usar los controles FlowLayoutPanel, TableLayoutPanel y SplitContainer para crear diseños de formularios avanzados en menos tiempo.

Por último, si debe crear sus propios elementos de interfaz de usuario personalizados, el espacio de nombres System.Drawing contiene una gran selección de clases para representar líneas, círculos y otras formas directamente en un formulario.

Creación de formularios y controles

Para obtener información detallada sobre cómo usar estas características, vea los siguientes temas de ayuda.

Representación y manipulación de datos

Muchas aplicaciones tienen que mostrar datos procedentes de una base de datos, un archivo XML o JSON, un servicio web u otro origen de datos. Windows Forms proporciona un control flexible denominado control DataGridView para mostrar esa información tabulada en un formato tradicional de filas y columnas, de modo que cada dato ocupe su propia celda. Al usar DataGridView, puede personalizar la apariencia de celdas individuales, bloquear en su posición filas y columnas arbitrarias y mostrar controles complejos dentro de las celdas, entre otras características.

La conexión a orígenes de datos a través de una red es una tarea sencilla con Windows Forms. El componente BindingSource representa una conexión a un origen de datos y expone métodos para enlazar datos a controles, desplazarse a los registros anteriores y siguientes, modificar registros y guardar los cambios en el origen. El control BindingNavigator proporciona una interfaz sencilla en el componente BindingSource para que los usuarios se desplacen por los registros.

Puede crear fácilmente controles enlazados a datos mediante la ventana Orígenes de datos de Visual Studio. En la ventana se muestran los orígenes de datos como bases de datos, servicios web y objetos del proyecto. Para crear controles enlazados a datos, arrastre los elementos desde esta ventana hasta los formularios de su proyecto. También puede enlazar controles existentes a datos si arrastra los objetos desde la ventana Orígenes de datos a los controles existentes.

Otro tipo de enlace de datos que puede administrar en Windows Forms es el de configuración. La mayoría de las aplicaciones deben conservar cierta información sobre su estado de tiempo de ejecución, como el último tamaño conocido de los formularios, y conservar los datos de preferencias del usuario, como las ubicaciones predeterminadas de los archivos guardados. La característica Configuración de la aplicación aborda estos requisitos al proporcionar una manera sencilla de almacenar ambos tipos de configuración en el equipo cliente. Después de definir esta configuración mediante Visual Studio o un editor de código, se conserva como XML y se vuelve a leer automáticamente en memoria en tiempo de ejecución.

Implementación de aplicaciones en equipos cliente

Una vez que haya escrito la aplicación, tendrá que enviarla a los usuarios para que puedan instalarla y ejecutarla en sus equipos cliente. Cuando se usa la tecnología ClickOnce, puede implementar las aplicaciones desde Visual Studio con solo unos cuantos clics y proporcionar a los usuarios una dirección URL que apunte a la aplicación en la web. ClickOnce administra todos los elementos y dependencias de la aplicación y garantiza que se instale correctamente en el equipo cliente.

Las aplicaciones ClickOnce se pueden configurar para que solo se ejecuten cuando el usuario está conectado a la red, o bien para ejecutarse tanto en línea como sin conexión. Al especificar que una aplicación debe admitir el funcionamiento sin conexión, ClickOnce agrega un vínculo a la aplicación en el menú Inicio del usuario. Después, el usuario puede abrir la aplicación sin usar la dirección URL.

Cuando se actualiza la aplicación, se publica un nuevo manifiesto de implementación y una nueva copia de la aplicación en el servidor web. ClickOnce detectará que hay una actualización disponible y actualizará la instalación del usuario. No se requiere ninguna programación personalizada para actualizar las aplicaciones antiguas.

Vea también