Allora, se non ho capito (e dedotto
) male tu hai un controllo Panel con la property AutoScroll impostata a True (per far apparire le barre di scorrimento quando servono)..
All'interno di questo controllo carichi a runtime dei controlli aggiungendoli alla sua collezione Controls..
Ogni controllo viene posizionato in base a quelli presenti per visualizzarlo correttamente, altrimenti verrebbe visualizzatosempre con origine (0,0) e quindi si sovrapporebbe al precedente. In pratica suppongo venga impostato almeno il valore top e forse il width per renderlo largo quanto il panel..
Se così fosse, nel momento in cui viene inserito un controllo non più "visibile" nel container (il panel) quest'ultimo fa apparire le scrollbar "internamente" che vanno a coprire parte dei controlli contenuti (che hanno width fissa alla larghezza del pannello che ora è "virtualmente" diminuite per la presenza della barra).
Se la mia supposizione è corretta, la cosa più semplice che mi viene in mente per ovviare a questo problema è quello di inserire i controlli impostandone la proprietà
Dock = DockStyle.Top;
invece cheTop ed Height.. In questo modo al comparire delle barre i controlli si ridimensionano in larghezza in modo da occuppare tutto lo spazio disponibile.
Spero che sia questo il problema.. Se ho capito male prova a dettagliare ulteriormente che si riprova
Ciao