Question

Dans java swing, je peux insérer des panneaux dans des panneaux, etc., sans avoir à créer une nouvelle fenêtre pour chaque vue de mon application, ni à supprimer ou à ajouter des contrôles.

Un panneau est classé C #, mais je ne vois aucun moyen de créer un "formulaire de panneau" ou, fondamentalement, un formulaire dans le concepteur de formulaire qui constitue un panneau et son contenu.

Comment puis-je faire cela et travailler comme je le faisais avec java swing?

Était-ce utile?

La solution

Habituellement, j’ai simplement ancré différents formulaires dans chacun d’eux en définissant la propriété IsMdiContainer sur true dans la fenêtre parente. Ensuite, je crée des sous-formulaires que je dock en utilisant la fonction suivante:

static class FormUtil
{
    static public void showForm(Form sender, Control reciever)
    {
        sender.ControlBox = false;
        sender.FormBorderStyle = FormBorderStyle.None;
        sender.ShowInTaskbar = false;
        sender.TopLevel = false;
        sender.Visible = true;
        sender.Dock = DockStyle.Fill;

        reciever.Controls.Clear(); //clear panel first
        reciever.Controls.Add(sender);
    }

}

puis chaque fois que je dois ancrer un formulaire dans un panneau sur le formulaire des parents, je le fais juste:

FormUtil.showForm(new SomeForm(), this.splitContainer1.Panel1);

Cela me permet de déléguer une partie de la création de formulaire à différents concepteurs. Travaille comme un charme pour moi. J'adore savoir s’il existe un meilleur moyen de le faire.

Autres conseils

En fait, vous pouvez utiliser le contrôle du panneau et définir sa propriété Dock sur Remplir. De cette façon, votre panneau sera l'intégralité de la toile du formulaire. Ensuite, vous pouvez ajouter des panneaux enfants selon vos besoins, soit par le biais du code suivant, soit par le biais du concepteur de formulaires.

Il existe le concept de contrôles utilisateur qui vous fournit essentiellement un panneau tel que surface de concepteur, sans oublier que vous pouvez créer des formulaires atomiques (qui peuvent être réutilisés) et les enregistrer comme pouvant être hérités, de cette façon vous pouvez également fournir un héritage. / p>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top