Bonjour,
Mon application Windows Form contient un formulaire utilisé comme un AboutBox, Ce formulaire affiche différentes informations :Windows XP SP2
Visual C# Express
Framework 2.0
En voici le code :
Ce formulaire est affiché par l'intermédiaire d'un bouton
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 public class FormAbout : System.Windows.Forms.Form { public FormAbout() { // Intialisation des objets de la fenêtre InitializeComponent(); // Récupération des informations de l'assembly LabelVersion.Text = Application.ProductName + " " + Application.ProductVersion; LabelFrameWorkVersion.Text = Environment.Version.ToString(); // Récupération de la mémoire allouée labelMemory.Text = string.Format("{0:D} Ko",(Environment.WorkingSet/1024)); // Récupératon des modules chargés {Nom, Version, Date}. try { // Récupération de la liste des modules ArrayList ndocItems = new ArrayList(); foreach (ProcessModule module in Process.GetCurrentProcess().Modules) { ListViewItem item = new ListViewItem(); item.Text = module.ModuleName; // Récupération du N° de version FileVersionInfo verInfo = module.FileVersionInfo; string versionStr = String.Format("{0}.{1}.{2}.{3}", verInfo.FileMajorPart, verInfo.FileMinorPart, verInfo.FileBuildPart, verInfo.FilePrivatePart); item.SubItems.Add(versionStr); // Récupération de la date DateTime lastWriteDate = File.GetLastWriteTime(module.FileName); string dateStr = lastWriteDate.ToString("g"); item.SubItems.Add(dateStr); // Ajout de l'élément dans la liste assembliesListView.Items.Add(item); } } catch (Exception ex) { MessageBox.Show(this, ex.ToString(), "Erreur sur la récupération des information des dépendances", MessageBoxButtons.OK, MessageBoxIcon.Error); } } protected override void Dispose( bool disposing ) { if (disposing) { if (components != null) { components.Dispose(); } } base.Dispose(disposing); } private void BtcClose_Click(object sender, EventArgs e) { this.Close(); } }
Question 1 : A chaque fois que j'affiche ce formulaire, la taille mémoire pour mon application augmente, de 100 à 350 Ko, est ce normal ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void btcViewAbout_Click(object sender, EventArgs e) { FormAbout lForm = new FormAbout(); lForm.ShowDialog(); }
Question 2 : Je remarque que si je minimize dans la barre des taches mon application, et que je l'affiche à nouveau, la taille mémoire de mon application à considérablement diminuée !, Pourriez vous m'indiquer pourquoi ?
J'ai pris ma fenêtre About comme exemple, mais celà e produit sur tous mes formulaires MDI également. et mon application passe de 15Mo au démarrage, à 98 Mo apres plusieurs ouverture de formulaire MDI qui contient des données sous forme de Chart.
Et apres un minimize, l'application passe à 10Mo voir 12 Mo.
Merci d'avance pour votre aide.
Cldt,
Partager