Formulaire fils

Résolu
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 31 août 2006 à 16:09
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 1 sept. 2006 à 02:38
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

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
1 sept. 2006 à 02:38
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.
}
3
Rejoignez-nous