Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Windows Forms y el regreso de su diseñador en .NET Core 3

Windows Forms es una tecnología que permite crear aplicaciones gráficas para escritorio en Windows. Ofrece capacidades para definir visualmente todo tipo de ventanas y controles dentro de éstas, y además facilita mucho la creación de interfaces orientadas al manejo de datos gracias a sus capacidades de enlace bidireccional a datos.

Apareció con la primera versión de .NET, hace casi 20 años, y enseguida se convirtió en la principal tecnología para crear aplicaciones de escritorio para Windows. En la actualidad es una tecnología madura y estable, con grandes capacidades para desarrollo rápido gracias a su diseñador visual integrado en Visual Studio.

Esta tecnología ha encontrado una segunda vida gracias a su integración en la plataforma .NET Core. En el momento de escribir esto se encuentra todavía en fase "Preview" y le están puliendo detalles (sobre todo al diseñador), pero es perfectamente capaz de crear aplicaciones listas para ser utilizadas en entornos reales. Ya te hemos hablado de ella con antelación.

Imagen del diseñador de Windows Forms Core en acción dentro de Visual Studio

Hoy te enseñamos cómo utilizar el mítico designer o diseñador de Windows Forms en Visual Studio 2019., incluyendo un vídeo que te lo muestra. ¿Lo vemos?

Preparación

Para empezar a crear aplicaciones Windows Forms con .NET Core 3 y disfrutar de su diseñador, necesitaremos seguir una serie de pasos.

En el momento de escribir esto, solo está accesible desde Visual Studio 2019 Preview, a partir de su versión 16.1 o superior. Una vez descargada e instalada esta versión en nuestro equipo, necesitaremos configurar una de las opciones que vienen como preview o versión preliminar.

Actualización mayo 2020: lo tienes disponible a partir de Visual Studio 16.6 "convencional", o de Visual Studio Preview 16.7. En ambos casos tienes que activarlo desde las opciones, porque sigue en preview.

Si seguimos la ruta del menú Tools > Options > Environment > Preview Features (o, si tienes el IDE en castellano, la ruta es Herramientas > Opciones > Entorno y Características en versión preliminar), encontraremos una casilla de verificación llamada Use the preview Windows Forms designer for .NET Core apps (lo que sería Usar el diseñador de Windows Forms en versión preliminar para aplicaciones .NET Core). Actívala, ¡y la magia comienza!

Esta casilla tiene un requisito: tienes que reiniciar Visual Studio para empezar a disfrutar de las ventajas del diseñador.

Creando tu aplicación

Gracias al diseñador, con tan solo unos cuantos movimientos de ratón, es decir, seleccionando y arrastrando controles al formulario que estás creando, puedes crear interfaces para tu nueva aplicación de escritorio.

Pero no olvides el hecho de que este diseñador sigue siendo una preview: si conocías Windows Forms de antes notarás que faltan algunos controles por añadir, el proceso de construcción puede ser lento y se nota que la versión aún no es lo suficiente madura como para publicarla como una herramienta estable dentro de Visual Studio.

En el siguiente vídeo te muestro cómo activar el diseñador y cómo utilizar su funcionalidad básica.

Poco a poco vamos recuperando esta estupenda funcionalidad del diseñador de Windows Forms, y en los próximos meses la tendremos soportada con toda su funcionalidad.

WinForms fue la primera librería para crear interfaces gráficas que aprendí después de hacer muchas aplicaciones en consola con C#, así que le guardo cariño y me hace especial ilusión su regreso.

Nostalgia aparte, espero que el contenido te resulte útil, ¡un saludo!

 

Elena Guzmán Programadora .NET y creadora de contenido en la red. En constante aprendizaje, creando aplicaciones con .NET y Xamarin.Forms, videojuegos en Unity3D y Godot Engine, y mejorando procesos en el desarrollo mediante DevOps. Comparte su conocimiento y experiencias desde su blog, Geekstorming, donde escribe sobre tecnología, programación y videojuegos. Puedes seguirla en Twitter en @Beelzenef_. Ver todos los posts de Elena Guzmán
Archivado en: Lenguajes y plataformas

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Comentarios (14) -

Hola,

Tengo una duda. No me aparece el chekbox para habilitar la vista preliminar del window forms designer. ¿Sabes porqué puede ser?

Gracias

Responder

¡Hola, Jose!

Lo primero es gracias por tu comentario. La primera duda a resolver sería qué versión de Preview estás usando. Tal y como especifico en el post, tiene que ser la versión 16.1 o superior.

Si puedes, compruébalo y coméntanos el resultado, tengas éxito o no, por si podemos seguir ayudándote.

¡Un saludo!

Responder

Es posible tener comunicacion con dispositivos a traves de OPC UA?
Gracias.

Responder

campusMVP
campusMVP

Hola Efrain:

Eso no tiene nada que ver con Windows Forms. La pregunta adecuada sería si existe alguna implementación de OPC UA para .NET Core, y la respuesta es que sí. La propia fundación OPC tiene una implementación de referencia hecha para .NET Standard y para .NET Core, aquí:

https://github.com/OPCFoundation/UA-.NETStandard

A la cual puedes acceder en forma de paquete NuGet:

www.nuget.org/.../

Y que incluye tanto la implementacion de un servidor como de un cliente. Incluso un cliente par Xamarin, para poder utilizarla desde aplicaciones móviles con .NET.

En la página en GitHub de la OPC Foundation tienes documentación detallada: http://opcfoundation.github.io/UA-.NETStandard/

En la web oficial de la fundación tienes implementaciones en más lenguajes y plataformas: opcfoundation.org/.../samples-and-tools-unified-architecture

Saludos.

Responder

Hola Elena, estoy usando la siguiente version de VS 2019

Microsoft Visual Studio Enterprise 2019
Versión 16.5.4


a mi la opcion a habilitar que indicas no me aparece, y NECESITO el diseñador,...

podrías ayudarme con este problema, por favor?

mil gracias

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Jerónimo:

Pero ¿es la edición "Preview" de Visual Studio 2019? Es importante que sea esta edición y no la normal para que tengas acceso a las características preliminares. Estas ediciones preliminares de VS las puedes descargar desde aquí: https://visualstudio.microsoft.com/es/vs/preview/

Saludos.

Responder

No, no es la edicion preview, pero:

     * siendo la version que tengo instalada la 16.5.4 y
     * teniendo en Herramientas -> Opciones -> "Entorno" una entrada que es "características en versión preliminar" (donde no aparece la opcion "Usar el diseñador de Windows Forms en versión preliminar para aplicaciones .NET Core",.... y
      * sin embargo  teniendo también en HErramientas->Opciones  una opción que es "Diseñador de Windows Forms" con algunas opciones,

supuse que ya debería soportar el diseñador de formulariuos,......


¿si me instalo  la versión preview mas avanzada si que lo tendré?

mil gracias de antemano, me estoy volviendo loco con esto....

Responder

Gracias José Manuel, efectivamente con la edición "preview" se ha resuelto,.... muchas gracias.

Es que estoy desarrollando una aplicacion winforms que implementa un modelo de ML con ML.net, y claro, la capa de negocio tiene que ser .NET Core, y desde una aplicacion winforms para .NET estandar no estaba pudiendo enlazar la referencia a la biblioteca de clases (capa de negocio) en .net Core,....

problema resuelto, muchas gracias ;-)

P.D: ¿Sabes si va a tardar mucho en "oficializarse" esta preview?

Responder

José Manuel Alarcón
José Manuel Alarcón

Estupendo, me alegro de que ya lo tengas en marcha. Las ediciones "Preview" son las que tienen siempre este tipo de cosas, aunque a veces puedan "colar" alguna también en la edición convencional del entorno. Elena en el artículo ya comenta que debe ser la edición "Preview" aunque puedo entender que lo de la versión confunda porque tienes una posterior, pero es que el número de version de la "Preview" y de la "normal" van bastante parejas.

De momento no hay una fecha segura para que lo tengan listo, pero lo que sí tengo claro es que, como muy tarde, estará en noviembre junto con .NET 5 (que es .NET Core "con cosas": www.campusmvp.es/.../...cadamente-despistados.aspx)

Saludos.

Responder

Hola , instale la version 16.6 del 21/05/2020
Ya me aparece el diseñador
Pero en las herramientas no veo los botones
No puedo agregar un botton

Que podria ser ?

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Juan:

Efectivamente falta el botón, aunque si vas a configurar los controles que se muestran, está seleccionado, pero no se ve. Seguramente tiene que ver con la caché que hace. Lo que yo he hecho ha sido cargarme los archivos de definición del toolbox, y al reiniciar Visual Studio me los ha regenerado y ya sale el botón.

Haz esto:

1.- Cierra Visual Studio
2.- Vete a la carpeta C:\Users\<TuUsuario>\AppData\Local\Microsoft\VisualStudio\16.0_xxxxx  (essas x son un código según la versión)
3.- Mueve a otrolado (para tener un backup por si acaso) los archivos toolbox.tbd, toolbox_reset.tbd, toolboxIndex.tbd y toolboxIndex_reset.tbd. en general todos los que empiecen por "toolbox", de modo que desaparezcan de esta carpeta.
4.- Arranca otra vez Visual Studio.

Ahora deberían aparecerte todos los controles incluyendo el botón.

A mi me ha funcionado. Cuéntanos...

Saludos!

Responder

Hola buenos dias
Por favor necesito una consulta
Tengo un proyecto para realizar pero tengo dos opciones

Windows Forms o WPF en .NET Core.

Por favor no tengo idea de que hacer
ya que hay mucho debate en este tema

Necesito si puedes por favor de regalarme
su opinión para mi es muy valiosa

Gracias


Responder

José Manuel Alarcón
José Manuel Alarcón

Hola de nuevo:

Pues con esos datos poco te puedo decir. Depende de lo que necesites.

Windows Forms es más sencillo y rápido ya que te permite arrastrar y soltar controles y además es muy estable y está muy probado (no tanto en .NET Core como en .NET tradicional, claro). Las interfaces son más clásicas y menos vistosas pero cumple muy bien su función.

WPF es una sintaxis XML más moderna pero tienes que escribir el código, te da más posibilidades para hacer interfaces más modernas y vistosas, pero ¿las necesitas? Personalmente no he trabajo casi nada con esa tecnología para escritorio (salvo en Xamarin), así que mi opinión es muy parcial y seguramente sesgada a favor de Windows Forms.

Saludos.

Responder

Víctor E. Díaz
Víctor E. Díaz

Excelente noticia, esto me salta una inmensa interrogante: Migración!

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.