Bonjour à tous,
J'ai une application type Service Windows.
Mon main se trouve dans une module, il gère mon appli et lance des formulaires et des actions dans différent thread.
Lorsque mon formulaire principal est ouvert, et lors d'un chargement d'un fichier excel (un peu long car lourd) puis traitement des données(Ecriture, traitement, et lecture dans le fichier excel), j'ouvre un petit formulaire d'attente avec barre graph, info de l’état d'avancement.
Ce formulaire je le lance dans un nouveau thread du coup il n'a pas de formulaire parent. Cela évite les blocages lors de temps d'accès parfois long sur excel.
Est-ce possible d'automatiser l'affichage de ce dernier au centre du formulaire principal ouvert.
La fonction: StartPosition = CenterParent ne fonctionne pas puisque ouvert dans un nouveau thread.
J'ai essayé de lui indiquer la fenêtre parent (dans son new) mais cela ne marche pas j'ai une exception de type : "Impossible d'ajouter un contrôle de premier niveau à un contrôle."
Mon souci c'est que l'on a 2 écrans et la gestion de Windows la dessus est un peu aléatoire. Il va m'ouvrir mon 1er formulaire sur un écran et le formulaire d'attente sur l'autre écran.
pas très gênant non plus mais agaçant pour certain.
Pour le moment j'ai déclaré les ouvertures en StartPosition = CenterScreen
Si l'on ne peut pas lui définir automatiquement le parent et enfant. On peut peut être récupérer la position de la fenêtre et ouvrir la nouvelle fenêtre d'attente avec des positions définies.
Merci de votre aide.
Partager