Dal punto di vista dei programmatori, la soluzione PageControl sfugge rapidamente. Forse un numero eccessivo di codice e sicuramente molti componenti in un unico modulo. (Originariamente questa domanda è stata etichettata Delphi, quindi vado da lì.)
Dal punto di vista degli utenti, il paradigma "apre una nuova finestra" spesso confonde. Noi persone tendiamo a pensare che siamo in grado di multitasking e gestire molte finestre e attività aperte, ma non lo siamo (ci occupiamo di passare a una perdita di tempo come i computer e aggiungere una perdita di precisione).
Ovviamente questo dipende molto dal tipo di applicazione. Ma tenderei ad un paradigma come Chrome e Firefox spettacolo nelle loro ultime incarnazioni:
- mantenere le varie forme in diverse schede
- consentire all'utente di staccare una scheda nella sua propria forma (dock e disancorare tramite drag% drop)
- aggiungere un buon modo di navigazione
a implementare qualcosa di simile a uno SDI come schermata principale di un'applicazione troppo. Guarda qualcosa come "stile di prospettiva". Navigazione, elenco di oggetti, dettagli dell'oggetto in diversi riquadri, alcuni riquadri aggiuntivi come un cockpit. E quindi aprire una nuova finestra/modulo per determinati compiti (alcuni modali, alcuni non modali), ma di breve durata. Dopo che l'email è stata scritta, viene inviata e chiude la finestra. Ma ho, se sono in grado di farlo, la possibilità di lavorare su più e-mail in quel momento.
Controllare il problema. Se ha carattere dashboard, prendi "stile outlook" o così. Se gli utenti sono un pubblico diffuso, eterogeneo, non esperto di computer, usa SDI o moduli nelle schede. Se scrivi per programmatori, potresti optare per più moduli, solo perché tendiamo a pensare che possiamo gestirlo. E funziona per più schermi (si spera).
fonte
2009-08-14 11:11:48
+1, bella risposta. Sarai d'accordo sul fatto che non ci sia nulla di specifico su Delphi (né domande né risposte). – mghie
@mghie: sono d'accordo. Ma non conosco la quantità di codice necessaria in altri linguaggi per utilizzare un paradigma di PageControl. Forse ci sono lingue in cui questo è stato ottimizzato ed è la strada da percorrere. –
@ Ralph: utilizzando moduli o frame come pagine nel controllo pagina non ci sono problemi con il numero di componenti o la dimensione della singola unità. Mentre scrivi, è (o può essere) problematico dal programmatore POV, un dettaglio di implementazione, se vuoi. Ho capito che la domanda riguardava principalmente la parte di progettazione della GUI. – mghie