none
Carregar textbox com txt e ficar atualizando. RRS feed

  • Pergunta

  • Bom sou iniciante em c#.

    Estou tentando fazer um pequena aplicação que carrega os dados de um txt em um textbox.

    Preciso que quando abrir o programa ele carregue o txt e fique atualizando a cada 10 segundo.

    Com auxilio ja criei este código, mas não esta funcionando.

    Alguém pode me auxiliar?

    //(

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsFormsApplication6
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                var timer = new System.Timers.Timer(2000);
                timer.Elapsed += OnTimedEvent;
                timer.Enabled = true;

            }

            private static void OnTimedEvent(Object source, ElapsedEventArgs e)
            {
                Textbox1.Text = System.IO.File.ReadAllText(@"C:\Diretorio\WriteText.txt");

            }
        }
    }

    //)

    segunda-feira, 9 de janeiro de 2017 17:35

Respostas

  • Tenta alterar tudo pra isso:

            private void Form1_Load(object sender, EventArgs e)
            {
                var timer = new System.Windows.Forms.Timer();
                timer.Interval = 5000; //5 segundos
                timer.Tick += Timer1_Tick;
                timer.Enabled = true;
                timer.Start();
            }
    
            private void Timer1_Tick(Object source, EventArgs e)
            {
                tx_valor.Text = System.IO.File.ReadAllText(@"E:\COMANDO.txt");
    
            }


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta RodineyMachado quarta-feira, 11 de janeiro de 2017 16:06
    terça-feira, 10 de janeiro de 2017 10:16

Todas as Respostas

  • Olá,

    Pelo visto está faltando dar um Start no seu timer. Deixe seu método Load assim:

            private void Form1_Load(object sender, EventArgs e)
            {
                var timer = new System.Timers.Timer(2000);
                timer.Elapsed += OnTimedEvent;
                timer.Enabled = true;
                timer.Start();
            }
    


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    segunda-feira, 9 de janeiro de 2017 17:43
  • Boa tarde.

    André, o erro que esta apresentando é este:

    Error 1 The type or namespace name 'ElapsedEventArgs' could not be found (are you missing a using directive or an assembly reference?).

    O que eu faço para corrigir?

    Código:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace testo
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                  var timer = new System.Timers.Timer(2000);
                timer.Elapsed += OnTimedEvent;
                timer.Enabled = true;
                timer.Start();
            }

            private static void OnTimedEvent(Object source, ElapsedEventArgs e)
            {
               textBox1.text = System.IO.File.ReadAllText(@"C:\Diretorio\WriteText.txt");

            }
        }
    }

    segunda-feira, 9 de janeiro de 2017 18:35
  • Altere seu método OnTimedEvent para isso:

            private void OnTimedEvent(Object source, EventArgs e)
            {
               textBox1.text = System.IO.File.ReadAllText(@"C:\Diretorio\WriteText.txt");
    
            }


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    segunda-feira, 9 de janeiro de 2017 18:46
  • Andre, funcionou parcialmente...

    O texto do arquivo TXT não esta carregando, o que pode ser?

    código:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace testo
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                var timer = new System.Timers.Timer(1);
                timer.Elapsed += OnTimedEvent;
                timer.Enabled = true;
                timer.Start();
            }

            private void OnTimedEvent(Object source, EventArgs e)
            {
                tx_valor.Text = System.IO.File.ReadAllText(@"E:\COMANDO.txt");

            }
        }
    }

    segunda-feira, 9 de janeiro de 2017 20:18
  • Tenta alterar tudo pra isso:

            private void Form1_Load(object sender, EventArgs e)
            {
                var timer = new System.Windows.Forms.Timer();
                timer.Interval = 5000; //5 segundos
                timer.Tick += Timer1_Tick;
                timer.Enabled = true;
                timer.Start();
            }
    
            private void Timer1_Tick(Object source, EventArgs e)
            {
                tx_valor.Text = System.IO.File.ReadAllText(@"E:\COMANDO.txt");
    
            }


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta RodineyMachado quarta-feira, 11 de janeiro de 2017 16:06
    terça-feira, 10 de janeiro de 2017 10:16