Formulaire fils

Résolu
Signaler
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
bonjour,
je crée une apllication ou un formulaire principale va appeler differents forumaires fils (qui appeleront egalement d'autre formulaires) selon le smenus proposés. d'abord est-ce la bonne solution? (ou devrais faire de susercontrol appelés a partir du formulair eprincipal et de sautres usercontrols?)
QUand j'appelel un formulaire fils j'aimerais qu'il soit placé au centre du formulaire pere.

J'ai essaye  (this est mon formulaire parent)
this.addownedform (form_fils);
form_fils.show();

et ds form_fils la propriete startposition est à centertoparent
ca ne marche pas
g essayé
form_fils.centertoparent() ca ne marche pas non plus , le formulaire et ou il veut apparemment.
comme on ne peut pas attribuer parentform=owner (pour le fils) je ne vois pas comment faire simplement et d'abord puorquoi  ne peut -on pas faire ca? a quoi sert donc ce parentform pour un formulaire(s'il n'est que lu)?

merci

1 réponse

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Salut, Owner et Parent ce n'est pas la même chose, la propriété Parent est utile pour retrouver le contrôle ou la forme qui contient le contrôle enfant dans sa zone cliente, Owner permet de lier certains comportements entre les formes comme par exemple minimizer les deux en même temps etc.. Je ne crois pas qu'il existe une fonction pour centrer automatiquement une forme par rapport à son owner, ou alors je suis passé à coté.

public Form1( )
{
    InitializeComponent( );


    this.Show( );
    this.Size = new Size( 640, 480 );


    Form f = new Form( );
    f.Size = new Size( 250, 250 );
    f.StartPosition = FormStartPosition.Manual;
    //f.ShowInTaskbar = false;
    f.Location = new Point
    (
        this.Location.X + this.Width / 2 - f.Width / 2,
        this.Location.Y + this.Height / 2 - f.Height / 2
    );
    f.Show( this ); // Set le Owner.
}