5 votes

ramener les derniers contrôles chargés lorsque je redémarre la machine

Je travaille dans une application vidéo dans mon application j'utilise beaucoup de contrôles pour la convivialité d'abord je vais charger la base de seulement après que je vais charger les autres contrôles basés sur le besoin de l'utilisateur.... ici mon besoin est si l'utilisateur charge dix contrôles dans ce cas s'il arrête la machine signifie quand il redémarre la machine j'ai besoin de ramener tous les contrôles ce qu'il était charger les contrôles avant qu'il s'arrête. merci d'avance

Est-il possible d'y parvenir sans enregistrer le jeu de commandes actuel, les positions, etc.

3voto

astander Points 83138

Vous devez regarder quelque chose comme

En gros, il s'agit de trouver un moyen de stocker l'ensemble des contrôles actuels et leurs positions (éventuellement les valeurs aussi) dans une sorte de stockage (fichier XML, registre, base de données) lorsque l'utilisateur quitte votre formulaire/application.

Ensuite, lorsqu'ils rouvrent le formulaire ou l'application, vous devez récupérer ces paramètres pour l'utilisateur en question (s'ils sont disponibles) et restaurer le formulaire ou l'application dans cet état.

2voto

Tuomas Hietanen Points 2615

Pourquoi ne pas créer des méthodes d'extension pour la classe Control ? (En fait, une classe de base abstraite .NET appropriée, une sous-classe de la classe Control, selon l'interface utilisateur. Utilisez-vous Windows Forms ou XAML ou ASP.NET) ?

Quelque chose comme :

public static class MyPositionExtensions{
    public static void SaveState(this Control c){ /* Save position to xml-file */ }
    public static void RestoreState(this Control c){ /* Load from xml-file */ }
}

Ensuite, dans votre fermeture, il suffit de faire une boucle comme

foreach(var c in MyControls)c.SaveState();

et l'ouverture comme

foreach(var c in MyControls)c.RestoreState();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X