Queue Monitor Pro è un'applicazione desktop Windows Forms sviluppata in Visual Basic .NET (.NET 8) per il monitoraggio in tempo reale dei tempi di attesa delle code tramite gauge grafici animati.
L'applicazione è completamente standalone: nessuna connessione internet, nessun database esterno, nessuna libreria di terze parti. Tutto il rendering dei gauge è in GDI+ puro.
QueueMonitor/
├── QueueMonitor.vbproj ← File progetto Visual Studio
├── app.manifest ← Manifest DPI-aware
├── Program.vb ← Entry point applicazione
├── Models.vb ← Modelli dati, configurazione, persistenza JSON
├── GaugeControl.vb ← Controllo gauge custom (GDI+)
├── FormDashboard.vb ← Finestra principale (monitoraggio)
├── FormConfig.vb ← Finestra configurazione gauge e sistema
├── FormBackend.vb ← Finestra backend (gestione code e tempi)
└── README.md ← Questa guida
- Visual Studio 2022 (Community, Professional o Enterprise)
- SDK .NET 8 (incluso in VS 2022)
- Windows 10 / 11
- Aprire Visual Studio 2022
File→Apri→Progetto/Soluzione...- Selezionare il file
QueueMonitor.vbproj - Premere F5 per avviare in debug, oppure Ctrl+F5 per avviare senza debug
Nota: Al primo avvio, Visual Studio ripristinerà automaticamente eventuali dipendenze NuGet. Questo progetto non ne ha, quindi sarà istantaneo.
- Click destro sul progetto in Solution Explorer
- Selezionare
Pubblica... - Scegliere
Cartellacome destinazione - Configurare:
- Framework:
net8.0-windows - Runtime:
win-x64 - ✅ Self-contained (include il runtime .NET)
- ✅ Produce single file (un solo .exe)
- Framework:
- Cliccare
Pubblica - Il file
QueueMonitor.exesarà inbin\Release\net8.0-windows\win-x64\publish\
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=trueCtrl+Shift+B (oppure Build → Build Solution)
Il file .exe sarà in bin\Debug\net8.0-windows\ o bin\Release\net8.0-windows\
- Mostra tutti i gauge in una griglia configurabile
- Click su un gauge → apre il Backend con quella coda selezionata
- Bottone ⚙ Configura → apre la finestra configurazione
- Bottone 📊 Backend Dati → apre la finestra gestione
- Bottone ↻ Aggiorna → aggiorna manualmente tutti i gauge
- La barra di stato mostra: code attive, OK, avvisi, critiche
- Le code in stato CRITICO fanno lampeggiare la barra
Accessibile dalla Dashboard. Permette di:
Tab "🎛 Stile Gauge" (per ogni coda):
- Scegliere lo stile: Arco 270°, Semicerchio, Barra Orizzontale, Barra Verticale
- Scegliere lo schema colori: Semaforo, Oceano, Tramonto, Monocromatico, Personalizzato
- Per "Personalizzato": selezionare i colori per Normale / Attenzione / Critico
- Configurare larghezza arco, visibilità etichette, animazioni
- Anteprima live del gauge a destra
Tab "⚠ Soglie" (per ogni coda):
- Tempo massimo: valore a cui il gauge mostra 100%
- Soglia attenzione: il gauge diventa arancio/giallo
- Soglia critica: il gauge diventa rosso e lampeggia
- Visualizzazione grafica della barra con zone colorate
Tab "🌐 Globale":
- Numero di colonne nella griglia dashboard
- Intervallo auto-refresh (secondi)
- Dimensione font valori gauge
- Mostra/nascondi barra di stato
Accessibile dalla Dashboard. Permette di:
Lista code (sinistra):
- Visualizza tutte le code con stato colorato
- + Aggiungi: crea una nuova coda
- − Rimuovi: elimina la coda selezionata
- ◉ Attiva/Pausa: attiva o sospende il monitoraggio
Dettaglio coda (destra):
- Slider + campo numerico: imposta il tempo di attesa in minuti
- Bottoni preset: 0, 5, 10, 15, 20, 30, 45, 60, 90 minuti
- ✓ AGGIORNA ATTESA: applica il valore e aggiorna la dashboard
- Mini-gauge di anteprima live
- Modifica nome e descrizione della coda
- Storico misurazioni: ultimi 20 campioni con timestamp e stato
- Statistiche: media, massimo, minimo, numero campioni
La configurazione viene salvata automaticamente in:
%AppData%\QueueMonitor\config.json
(es. C:\Users\NomeUtente\AppData\Roaming\QueueMonitor\config.json)
Il file JSON è leggibile e modificabile manualmente. Al primo avvio vengono caricate 5 code dimostrative pre-configurate.
| Stile | Descrizione |
|---|---|
| Arco 270° | Arco circolare da 135° a 405° (stile tachimetro). Mostra valore centrale, soglie, etichette |
| Semicerchio | Semicerchio inferiore. Compatto e leggibile |
| Barra Orizzontale | Barra da sinistra a destra con griglia e soglie visive |
| Barra Verticale | Barra dal basso verso l'alto |
Tutti i gauge includono:
- Animazione di transizione fluida (easing esponenziale)
- Effetto glow sul riempimento
- Doppio buffering per rendering senza sfarfallio
- Indicatori di soglia grafici
| Componente | Tecnologia |
|---|---|
| UI Framework | Windows Forms (.NET 8) |
| Rendering gauge | GDI+ (System.Drawing) |
| Persistenza | System.Text.Json (built-in) |
| Pattern stato | Singleton (AppState) |
| Animazioni | Timer 60fps + easing |
| Threading | InvokeRequired per thread-safety |
- Nessuna libreria esterna: tutto il codice è self-contained
- Il rendering usa AntiAlias per gauge lisci a qualsiasi dimensione
- I gauge si ridimensionano automaticamente con la finestra
- La configurazione è thread-safe tramite
InvokeRequired - I commenti XML
'''sono compatibili con IntelliSense di Visual Studio
Queue Monitor Pro — Sviluppato con Visual Basic .NET e Visual Studio 2022