Ir al contenido

Capítulo 27: Template de Windows Forms

Parte VIII: Windows Forms - Sección 16: Interfaces gráficas - Nivel: Intermedio


Al finalizar este capítulo serás capaz de:

  • Crear una ventana básica (Form) desde cero en un script de EPLAN
  • Entender la estructura estándar de una clase Windows Forms
  • Diferenciar entre Show() (no modal) y ShowDialog() (modal)
  • Configurar propiedades básicas como título, tamaño y posición

  • Conceptos de Clases (Capítulo 8)
  • Atributo [Start]

Hasta ahora, tus scripts han sido “invisibles” o usaban mensajes simples. Para herramientas profesionales, necesitas una Interfaz Gráfica de Usuario (GUI) donde el usuario pueda:

  • Escribir texto
  • Seleccionar opciones de listas
  • Pulsar botones

EPLAN soporta nativamente Windows Forms (WinForms), la tecnología estándar de interfaz de usuario de .NET Framework.


Un script con interfaz tiene dos partes:

  1. La clase del Formulario: Hereda de System.Windows.Forms.Form. Define cómo se ve la ventana.
  2. La clase del Script: Contiene el método [Start] que crea y muestra el formulario.

Basado en EPLAN-Scripting-4.0/09_Forms/01_Template.cs:

using System.Windows.Forms;
using Eplan.EplApi.Scripting;
// PARTE 1: La clase del Script
public class ScriptConInterfaz
{
[Start]
public void Function()
{
// 1. Crear instancia del formulario
MiVentana frm = new MiVentana();
// 2. Mostrarlo de forma MODAL (bloquea EPLAN hasta cerrar)
frm.ShowDialog();
}
}
// PARTE 2: La clase del Formulario
public class MiVentana : Form
{
public MiVentana()
{
// 1. Inicializar componentes (obligatorio)
InitializeComponent();
}
private void InitializeComponent()
{
// 2. Configurar propiedades de la ventana
this.Text = "Mi Primera Ventana EPLAN";
this.StartPosition = FormStartPosition.CenterScreen;
this.Width = 400;
this.Height = 300;
}
}

  • Show(): Abre la ventana y el script continúa inmediatamente. La ventana se queda flotando pero el usuario puede seguir interactuando con EPLAN. (No recomendado para scripts simples).
  • ShowDialog(): Abre la ventana y detiene la ejecución del script hasta que la ventana se cierra. Bloquea EPLAN (Modal). Esta es la forma correcta para cuadros de diálogo donde esperas que el usuario introduzca datos y pulse “Aceptar”.

Dentro de InitializeComponent(), puedes configurar:

  • StartPosition:
    • CenterScreen: Centrado en el monitor.
    • CenterParent: Centrado en la ventana padre (EPLAN).
  • FormBorderStyle:
    • Sizable: El usuario puede redimensionar (default).
    • FixedDialog: Tamaño fijo, ideal para diálogos.
  • Text: El título de la ventana.
this.Text = "Configuración de Proyecto";
this.StartPosition = FormStartPosition.CenterScreen;
this.FormBorderStyle = FormBorderStyle.FixedDialog;
this.MaximizeBox = false; // Sin botón de maximizar
this.MinimizeBox = false; // Sin botón de minimizar

Copia el template anterior y ejecútalo en EPLAN. Verás una ventana vacía en el centro de la pantalla. El script “se pausa” mientras la ventana está abierta y termina cuando la cierras (X).


  • Hereda de System.Windows.Forms.Form para crear ventanas.
  • Usa InitializeComponent para configurar la visual.
  • Usa ShowDialog() para mostrar la ventana y esperar al usuario.

Ver capítulos anteriores

Capítulo 28: Formulario completo

En el próximo capítulo llenaremos esa ventana vacía con botones, cajas de texto y etiquetas.