Capítulo 27: Windows Forms en EPLAN con C#

5 min de lectura

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


Objetivos de aprendizaje

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

Requisitos previos

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

Introducción: Interfaces Gráficas (GUI)

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.


1. Estructura de un Script con interfaz

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.

1.1 El "Template" Básico

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;
    }
}

2. Show() vs ShowDialog()

  • 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".

3. Configuración básica del Form

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

4. Práctica: Ventana vacía

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).


Resumen

  • 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.

Conexiones

Capítulo anterior

Ver capítulos anteriores

Próximo capítulo

Capítulo 28: Formulario completo

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