J'utilise un listview, et j'essaie de remplir un fichier. J'ai besoin que le fichier soit lu dès que le formulaire démarre.J'ai besoin de lire le fichier à partir du formulaire
private void mainForm_Load(object sender, EventArgs e)
{
//get file read in
if (File.Exists("../../MealDeliveries.txt"))
{
StreamReader sr = new StreamReader("../../MealDeliveries.txt");
//first line is delivery name
string strDeliveryName = sr.ReadLine();
do
{
//other lines
Delivery d = new Delivery(strDeliveryName, sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine());
mainForm.myDeliveries.Add(d);
//check for further values
strDeliveryName = sr.ReadLine();
//stop if no more values
} while (strDeliveryName != null);
displayDeliveries();
}
}
private void displayDeliveries()
{
lstDeliveryDetails.Items.Clear();
foreach (Delivery d in mainForm.myDeliveries)
{
lstDeliveryDetails.Items.Add(d.DeliveryName);
}
}
La liste n'affiche rien, bien que le fichier soit définitivement là!
Cela a fait beaucoup d'erreurs, pourquoi ai-je besoin d'utiliser? – sark9012
@Luke, les objets StreamReader doivent être éliminés lorsqu'ils ne sont plus nécessaires pour qu'ils puissent nettoyer les ressources qu'ils consomment. L'instruction 'using' déclenchera automatiquement un appel à IDisposable.Dispose() sur les instances non nulles dont elles sont entourées. Il est recommandé d'utiliser la construction using, mais vous pouvez aussi appeler explicitement .Dispose() dans un bloc try/finally. –