Phase 2: Launcher-UI + eigenstaendige Modul-Fenster - Form1 -> LauncherForm (Dateien via git mv, Designer/resx angepasst) - Modul-Tab: Karten aus ModuleRegistry mit "Fenster oeffnen"-Button je Modul - UI/WindowManager: Fenster-Tracking (Key->Form), Re-Open fokussiert, CloseAll - UI/ModuleFormBase: Basisklasse fuer eigenstaendige Modul-Fenster - CongressTradingForm: DB-Kennzahlen + manueller Scrape-Trigger (Phase-4-Ausbau folgt) - WindowManager in DI; Launcher schliesst Modul-Fenster beim Beenden - Tests: WindowManager (6) -> 21/21 gruen; Launcher-Start verifiziert Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> @
26 lines
806 B
C#
26 lines
806 B
C#
namespace IBKRTrader.UI;
|
|
|
|
/// <summary>
|
|
/// Basisklasse für eigenständige Modul-Fenster.
|
|
/// Stellt gemeinsame Grundeinstellungen (Größe, Startposition) bereit und
|
|
/// hält den Modul-Key, damit der Launcher/WindowManager das Fenster zuordnen kann.
|
|
/// </summary>
|
|
public class ModuleFormBase : Form
|
|
{
|
|
/// <summary>Kürzel des zugehörigen Moduls (z. B. "CT").</summary>
|
|
public string ModuleKey { get; }
|
|
|
|
// Parameterloser Ctor nur für den WinForms-Designer.
|
|
protected ModuleFormBase() : this("") { }
|
|
|
|
protected ModuleFormBase(string moduleKey)
|
|
{
|
|
ModuleKey = moduleKey;
|
|
Width = 900;
|
|
Height = 600;
|
|
StartPosition = FormStartPosition.CenterScreen;
|
|
ShowInTaskbar = true;
|
|
MinimumSize = new Size(600, 400);
|
|
}
|
|
}
|