Étape 6: Code Code Code...
Voici un code complet de notre application avec commentaires après "/ /" cas :using System ;
à l’aide de System.Collections.Generic ;
à l’aide de System.ComponentModel ;
using System.Data ;
à l’aide de System.Drawing ;
à l’aide de System.Linq ;
using System.Text ;
using System.IO ; //added
using System.Windows.Forms ;
à l’aide de System.Runtime.Serialization.Formatters.Binary ; //added
à l’aide de System.Runtime.Serialization ; //added
espace de noms testowa / / this mon nom de projet
{
partial class Form1 : Form
{
public Form1()
{
InitializeComponent() ;
}
[Serializable] / / Il permettent à notre classe d’être enregistrés dans le fichier
données de la classe public / / notre classe pour les données
{
public string nom ;
nom de la chaîne publique ;
ville de la chaîne publique ;
Numéro de la chaîne publique ;
}
' private void SaveToolStripMenuItem_Click (object sender, EventArgs e)
{
GRILLE. EndEdit() ;
SaveFileDialog saveFileDialog1 = new SaveFileDialog() ; //Creating un fichier enregistrer boîte de dialogue
saveFileDialog1.RestoreDirectory = true ;
lire et filtrer les données brutes
Si (saveFileDialog1.ShowDialog () == DialogResult.OK)
{
Formateur BinaryFormatter = new BinaryFormatter ;
Sortie FileStream = new FileStream (saveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write) ;
'
int n = grille. Nombre de lignes ;
données [] personne = nouvelles données [n - 1] ; //We ont autant d’enregistrements que nombre de lignes, les lignes sont ajoutées automatiquement, donc nous avons toujours une ligne plus que nous avons besoin, alors n est un numéro de lignes -1 ligne vide
pour (int i = 0; i < n - 1; i ++)
{
Personne [i] = data() nouveaux ;
//GRID a deux chiffres pour les premier numer "[]" est un index de colonne, deuxième est une une idnex de ligne ", toujours l’indexation commence à 0"
Personne [i] .name = grille [0, i]. Celsius.ToString ;
Personne [i] .surname = grille [1 i]. Celsius.ToString ;
Personne [i] .city = grille [i 2]. Celsius.ToString ;
Nombre de personne [i] = grille [3, i]. Celsius.ToString ;
}
module de formatage. Sérialiser (sortie, personne) ;
sortie. Close() ;
}
}
' private void OpenToolStripMenuItem_Click (object sender, EventArgs e) / / lecture d’un fichier et ajoutez des données dans la grille
{
openFileDialog1 = new OpenFileDialog() ;
Si (openFileDialog1.ShowDialog () == DialogResult.OK)
{
Lecteur de BinaryFormatter = new BinaryFormatter ;
Entrée de FileStream = new FileStream (openFileDialog1.FileName, FileMode.Open, FileAccess.Read) ;
données [] personne = reader (données []). Deserialize(Input) ;
GRILLE. Rows.Clear() ;
pour (int i = 0; i < Person.Length; i ++)
{
GRILLE. Rows.Add() ;
GRILLE [0, i]. Valeur = personne [i] .name ;
GRILLE [1 i]. Valeur = personne [i] .surname ;
GRILLE [i 2]. Valeur = .city personne [i] ;
GRILLE [3, i]. Valeur = nombre de personne [i] ;
}
}
}
' private void CloseToolStripMenuItem_Click (object sender, EventArgs e)
{
Close() ; / / fermeture d’une application
}
}
}