J'écris une application MDI en C#. Je voudrais un moyen de stocker les positions et le contenu de toutes les fenêtres ouvertes, de sorte qu'un utilisateur peut personnaliser la façon dont plusieurs documents sont consultés. Existe-t-il un moyen simple de le faire, ou devrais-je lancer ma propre solution?Comment puis-je conserver la mise en page MDI dans .NET?
0
A
Répondre
1
J'ai vu quelques classes de persistance de forme autour mais elles n'ont pas fait exactement ce dont j'avais besoin. J'ai fini par rouler ma propre, faisant essentiellement les suivants:
Control mdiClientControl;
foreach (Control control in Controls)
{
if (control is MdiClient)
{
mdiClientControl = control;
break;
}
}
foreach (Form mdiChild in MdiChildren)
{
string theName = mdiChild.Name + "_Window_Layout";
DoSave(theName, "Top", mdiChildTop);
.
.
.
DoSave(theName, "WindowState", (int)mdiChild.WindowState);
DoSave(theName, "Visible", mdiChild.Visible);
DoSave(theName, "ChildIndex", theMDIClientControl.Controls.GetChildIndex(mdiChild));
}
DoSave() juste stocke cette information dans certains de fichier XML dans l'espace de l'utilisateur, mais vous pouvez stocker différemment, bien sûr.
Le cas échéant, comme au démarrage, j'ai une méthode ReadSettings() qui inverse essentiellement le processus, en interrogeant les paramètres enregistrés, en définissant les valeurs. Il pourrait y avoir une solution plus élégante au problème, mais celui-ci a vraiment bien fonctionné pour moi.
Espérons que ça aide.
Questions connexes
- 1. Mise en page Gridview dot net
- 2. Comment définir la largeur d'une mise en page dans Android?
- 3. Comment masquer les formulaires enfants mdi dans C# .net?
- 4. Comment conserver la mise en forme des espaces en utilisant PHP/HTML?
- 5. Gestionnaire de mise en page pour .NET, UI agnostique
- 6. Comment enregistrer une mise en page Tlistview
- 7. mise en page Fullscreen
- 8. Comment conserver une div au centre de la page?
- 9. Passant modèle à la mise en page dans MS MVC
- 10. Projet MDI Direct3D: MFC ou .NET?
- 11. Conserver la position de défilement dans les zones de liste dans les panneaux de mise à jour, PAS la page
- 12. Crystal reports Mise en page
- 13. Spécification des positions relatives dans la mise en page?
- 14. Howto Désactiver la mise en cache dans une page jsp
- 15. Comment conserver la position de défilement en utilisant la page maquette?
- 16. GridView Mise en page/sortie
- 17. Mise en page Optimal algorithme
- 18. Conserver la page en utilisant la pagination dans jQuery après avoir effectué quelques actions sur la page
- 19. Comment centrer une vue dans une mise en page Android?
- 20. Comment utiliser Zend_Form dans un script de mise en page
- 21. mise en page de l'application javaEE
- 22. Mise en page XY JAVA
- 23. Quelle est la meilleure façon de convertir la mise en page de table en mise en page CSS?
- 24. Mise en page CSS simple - comment puis-je réaliser cette mise en page et la faire évoluer facilement?
- 25. problème Blogger mise en page
- 26. Comment analyser html et css pour comprendre la mise en page de la page (java)
- 27. Mise en page CSS compliqué
- 28. Mise en page Dojo/Dijit - essayé d'ajouter une bannière en haut d'une mise en page existante
- 29. Puis-je modifier la mise en page en utilisant window.print()?
- 30. Recherche d'un motif pour conserver les valeurs des champs de page en revenant à la page
Il semble qu'il n'y ait pas de façon intégrée de le faire. –