Mi problema surge a la hora de querer crear ProgressBar por medio de Threads en C# 2008 (Visual Studio 2008), me marca un error que en este momento no recuerdo cuál es, pero básicamente en MSDN me dicen que no estoy usando de manera segura los subprocesos para utilizar componentes de WinForms.
El error es el siguiente: "Operación no válida a través de subprocesos: Se tuvo acceso al control 'lbl_tiempo' desde un subproceso distinto a aquel en que lo creó."
He estudiado la ayuda por 3 veces pero no entiendo muy bien el ejemplo, busco y busco en la red pero no encuentro algo que pueda entender por lo menos un poco.
Aquí les pongo el código de ejemplo que vimos en una clase y que no me funciona desde Visual Studio 2008:
Cita:
Bueno este es el programita tal cual, es muy simple pero no encuentro solución.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;
using System.Threading;
namespace hilo_tiempo
{
public partial class Form1 : Form
{
Thread hilo = null;
int crono = 0;
public Form1()
{
InitializeComponent();
}
public void contar()
{
crono++;
lbl_tiempo.Text = Convert.ToString(crono);
Thread.Sleep(1000);
}
private void btn_begin_Click(object sender, EventArgs e)
{
hilo = new Thread(this.contar);
hilo.Start();
}
private void btn_stop_Click(object sender, EventArgs e)
{
hilo.Abort();
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace hilo_tiempo
{
public partial class Form1 : Form
{
Thread hilo = null;
int crono = 0;
public Form1()
{
InitializeComponent();
}
public void contar()
{
crono++;
lbl_tiempo.Text = Convert.ToString(crono);
Thread.Sleep(1000);
}
private void btn_begin_Click(object sender, EventArgs e)
{
hilo = new Thread(this.contar);
hilo.Start();
}
private void btn_stop_Click(object sender, EventArgs e)
{
hilo.Abort();
}
}
}
Saludos.