J'ai 2 formulaires, sur Form1
J'ai un bouton et dans le Form2
j'ai un ListBox
avec des données. Ce que je veux est de cliquer sur le bouton Form1
et enregistrer les données à partir du Form2
ListBox
dans un fichier texte.Comment puis-je enregistrer une zone de liste dans un fichier texte
Ce que j'ai essayé:
Ce bouton est Form1
private void toolStripButtonGuardar_Click(object sender, EventArgs e)
{
var myForm = new FormVer();
//Escolher onde salvar o arquivo
SaveFileDialog sfd = new SaveFileDialog();
sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
sfd.Title = "Guardar";
sfd.Filter = "Arquivos TXT (*.txt)|*.txt";
if (sfd.ShowDialog() == DialogResult.OK)
{
try
{
File.WriteAllLines(sfd.FileName, myForm.listBox.Items.OfType<string>());
//Mensagem de confirmação
MessageBox.Show("Guardado com sucesso", "Notificação", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
Mais cela ne fonctionne pas, toujours enregistrer le fichier vide.
Eh bien, est-ce 'myForm.listBox.Items.OfType()' retour n'importe quoi? Si 'myForm' est un' Form', il n'est pas clair ce que vous en attendez, car vous ne montrez jamais ce formulaire à l'utilisateur. Donc, aucune interaction n'a jamais été faite avec ses contrôles. Qu'est-ce que vous essayez réellement d'obtenir de cette forme? –
David
'var myForm = nouveau FormVer();' - bien voilà votre problème (enfin, l'un d'entre eux). Vous créez une instance complètement nouvelle et complètement séparée de 'FormVer' qui (en l'occurrence) n'a * pas * de données dans sa listbox. Vous devez créer l'instance de 'FormVer' qui * possède * les données disponibles ici d'une façon ou d'une autre. – Corak
Comment créer une instance? Devrais-je créer un cours? Désolé je suis nouveau à ce que je ne suis pas sûr par où commencer. – Amauri