Sembra di capire che il tuo problema non è la parte logica del programma (anche perchè il discorso sarebbe troppo articolato), ma solo come rappresentare a video il materiale selezionato.
Se non ti piace vedere campi vuoti puoi sempre dire "se il campo è vuoto non visualizzare la textbox" e in base ai campi visualizzati sposti gli oggetti e ridimensioni la form. Se lo fai bene non devi prendere in considerazione un oggetto alla volta, ma un insieme di oggetti con le stesse proprietà (quelle che + ti interessano sono top, left, whidt e height) che puoi gestire in modo univoco. Comunque ci sono infinite soluzioni, si tratta solo di avere un po' di fantasia e di decidere quanto tempo vuoi mettere a disposizione per curare l'aspetto grafico.