Οπότε να το πάρω λίγο από την αρχή για να γνωρίζουμε ότι ήμαστε στην ίδια λογική.
Τα έντεκα combo boxes όντως έχουν lookup τιμές οι οποίες χρησιμοποιούνται για τις εγγραφές του κεντρικού grid της φόρμας. Οπότε όταν ανοίγει η φόρμα, χρειάζεσαι να τραβήξεις δεδομένα από 11 πίνακες, που είναι οι εγγραφές lookup συν από τον κεντρικό πίνακα που είναι οι εγγραφές του grid. Και η καθυστέρηση συμβαίνει μόνο την πρώτη φορά. Τις επόμενες φορές που καλείς την φόρμα δεν παρατηρείς την καθυστέρηση αυτή.
Αυτό το τελευταίο είναι κάτι που με προβληματίζει πιο πολύ. Αν υπήρχε λάθος στον κώδικά σου θα παρατηρούσες πάντα μία σχετική καθυστέρηση. Αν είχες να διαβάσεις μεγάλο αριθμό εγγραφών κάθε φορά θα υπήρχε μία σχετική καθυστέρηση.
Μία ερώτηση ακόμα για να καλύψω την αρχική καθυστέρηση που σου εμφανίζεται. Μήπως χρησιμοποιείς controls τρίτου κατασκευαστή με ενεργοποιημένο κάποιο σχετικό skin του κατασκευαστή; Για παράδειγμα οι φόρμες της DevExpress με ενεργοποιημένο skin φορτώνουν πιο αργά από ότι χωρίς την πρώτη φορά. Το ίδιο βέβαια γίνεται για όλες τις φόρμες και τα controls του VS αλλά σαφέστατα η καθυστέρηση είναι πιο μικρή χρησιμοποιώντας τα default controls του VS.
Όσο για το τελευταίο που ζητάς, δηλαδή να σχεδιάσεις την φόρμα και να την εμφανίσεις πριν γεμίσει με δεδομένα τα πράγματα δεν είναι τόσο απλά γιατί φαντάζομαι ότι ο κώδικας σου είναι single thread οπότε το πάγωμα στην οθόνη μέχρι να ολοκληρωθεί ο κώδικάς σου πάντα θα υπάρχει. Για αρχή θα κοιτούσα δύο events. Το Load της φόρμας, το οποίο ενεργοποιείτε λίγο πριν εμφανιστεί η φόρμα και το HandleCreated το οποίο ενεργοποιείτε αμέσως μετά που θα εμφανίσουμε την φόρμα. Και τα δύο events γίνονται raise πάντα μία φορά, δηλαδή αν παίξουμε το visibility της φόρμας δεν θα γίνουν raise ξανά.