IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#] Comment garder la taille de la fenêtre constante?


Sujet :

C#

  1. #1
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut [C#] Comment garder la taille de la fenêtre constante?
    Bonjour, je souhaite savoir comment garder en "mémoire" la taille de la fenetre de mon application à l'ouverture. Si par exemple je réduis la fenetre, j'aimerai lors de la prochaine ouverture de l'application que la fenêtre ait gardé la même taille.

    En bref il faut que ma fenetre s'ouvre avec la taille de la fenetre de la dernière ouverture...

    merci

    IRNBRU

  2. #2
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Salut,

    Tu pourrais inscrire les infos dans la base de registres ou dans un fichier XML à la fermeture de ton programme, puis les récupérer à l'ouverture suivante...

  3. #3
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    Merci j'ai pensé à cette solution, mais il faudrait stocker les settings dans l'application même sans avoir recours à un fichier externe. J'ai vu un code assez méchant :

    http://www.codeguru.com/Csharp/Cshar...cle.php/c6353/

    Je ne souhaite que converver la taille.
    Merci



    IRNBRU

  4. #4
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Intéressant... mais visiblement cette classe se sert aussi du registre Windows.

  5. #5
    Membre habitué Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 183
    Points
    183
    Par défaut
    : : heu...je me demande comment tu envisages de faire persister des informations au dela de la durée de vie de l'application sans faire appel à une solution externe....

  6. #6
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    peut etre en écrivant lors de l'execution des valeurs dans le setting de l'assembly :

  7. #7
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    C'est bon j'ai trouvé.

    IRNBRU

  8. #8
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    j'ai choisi la solution suivante, je stocke les données dans un fichier config qui est stocké sur ma machine. J'effectue une sérialization pour stocker les données. Dans mon cas un peu inutile car je ne souhaite que trouver la taille. Mais je peux évoluer le code si je souhaite retrouver d'autres infos comme le dernier emplacement de l'application.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
     
     
    using System;
    using System.Xml.Serialization;
    using System.IO;
    using System.Drawing;
     
    namespace Inovia.ASScenario.Class
    {
    	/// <summary>
    	/// Description résumée de ApplicationSettings.
    	/// </summary>
    	public class ApplicationSettings
    	{
    		private bool appSettingsChanged;
    		private Size m_taille;
     
    		public ApplicationSettings()
    		{
    			//
    			// TODO : ajoutez ici la logique du constructeur
    			//
     
    		}
     
     
    		public Size Taille
    		{
    			get
    			{
    				return m_taille;
    			}
    			set
    			{
    				if(value != m_taille)
    				{
    					m_taille=value;
    					appSettingsChanged=true;
    				}
    			}
    		}
     
    		public void SaveAppSettings()
    		{
    			if(appSettingsChanged)
    			{
     
    				StreamWriter ecriture=null;
    				XmlSerializer Serializeur=null;
    				try
    				{
    					Serializeur=new XmlSerializer(typeof(ApplicationSettings));
     
    //Obtient le chemin d'accès aux données d'application d'un utilisateur local non itinérant
    					ecriture=new StreamWriter(System.Windows.Forms.Application.LocalUserAppDataPath + @"\AAScenario.config",false);
     
    					Serializeur.Serialize(ecriture,this);
    					appSettingsChanged=false;
    				}
    				catch(Exception ex)
    				{
    					System.Windows.Forms.MessageBox.Show(ex.Message);
     
    				}
    				finally
    				{
    					if(ecriture!=null)
    					{
    						ecriture.Close();
    					}
    				}
     
    			}
     
    		}
     
    		public bool LoadAppSettings()
    		{
    			XmlSerializer Serializeur=null;
    			FileStream Fichier=null;
     
    			bool FichierExist=false;
     
    			try
    			{
    				Serializeur=new XmlSerializer(typeof(ApplicationSettings));
    				FileInfo fi=new FileInfo(System.Windows.Forms.Application.LocalUserAppDataPath + @"\AAScenario.config");
     
    				if(fi.Exists)
    				{
    					Fichier=fi.OpenRead();
     
    					ApplicationSettings myAppSettings= (ApplicationSettings)Serializeur.Deserialize(Fichier);
     
    					this.m_taille=myAppSettings.m_taille;
     
    					FichierExist=true;
    				}
    			}
    			catch(Exception ex)
    			{
    				System.Windows.Forms.MessageBox.Show(ex.Message);
    			}
    			finally
    			{
    				if(Fichier!=null)
    				{
    					Fichier.Close();
    				}
    			}
     
    			return FichierExist;
     
    		}
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment gérer la taille de la fenêtre d'une figure
    Par saih_tam dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 22/10/2014, 19h17
  2. Réponses: 0
    Dernier message: 16/02/2011, 11h52
  3. Comment garder la taille des boutons dans un GridLayout
    Par Spiritkiller dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 16/11/2009, 23h15
  4. Comment controler la taille d'une fenêtre secondaire
    Par jlg_47 dans le forum Dreamweaver
    Réponses: 7
    Dernier message: 11/06/2009, 12h18
  5. comment piloter la taille de la fenêtre ?
    Par clp01 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/12/2007, 20h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo