Jump to content
Amauri

Guardar em ficheiro txt

Recommended Posts

Amauri

Boas noites !
É assim eu pesquisei muito mas não encontrei nada.
O meu problema é :
Eu tenho duas forms, na form1 é onde eu escrevo e nessa form eu tenho um botão que envia tudo o que eu escrevi para uma listbox na form2, ate ai tudo bem porque isso é so para visualizar o que eu escrevi na listbox mas o problema é que eu depois tenho de voltar a form 1 para clicar em outro botão que vai guardar tudo o que eu tenho na listbox da form2 em um ficheiro txt.
Ou seja eu tenho de clicar no botão da form1 para guardar os dados num ficheiro texto que tão numa listbox na form2.
O meu codigo é esse;

        private void toolStripButtonGuardar_Click(object sender, EventArgs e)
        {
            FormVer 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
                {
                    StreamWriter sw = new StreamWriter(sfd.OpenFile());

                    foreach (object item in myForm.listBox.Items)

                        sw.WriteLine(item.ToString());

                        sw.Close();

                    //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);
                }
            }
        }

O problema está a dar nesta linha de codigo:

foreach (object item in myForm.listBox.Items)

pois não apresenta qualquer erro mas sempre guarda o ficheiro e branco
E eu não sei mesmo o que seja porque eu fui a form2 criei um botão provisório para guardar num ficheiro texto, só que a diferença é que como está na mesma form não precisei chamar a listbox ou seja ficou assim: 

foreach (object item in listBox.Items)

e resultou perfeitamente guardou tudo no ficheiro texto o que eu tinha na listbox
Eu não consigo fazer a msm coisa de outra form ou seja chamar a listbox para guardar
Eu não sei se me fiz entender eu sou novo nisto
Espero que me possam ajudar
Obrigado !!

Share this post


Link to post
Share on other sites
13dev

tenta fazer fazer desta maneira

 

tens uma listBox nas duas forms ?

using (StreamWriter writer = new StreamWriter(sfd.OpenFile()))
{
    foreach (object p in myForm.listBox.Items)
    {
        writer.WriteLine(p.toString());
        //Console.WriteLine(p.toString());
    }
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.