Saludos.
Me gusta programar en lenguaje Java, pero ha surgido la necesidad de crear un programa escrito en C#. Pero tengo un problema en el uso de multi threads (multi hilos), ahora les explico como era en java.
Si en java queria hace un contador y que se reflejara en un JLabel, hacia lo siguiente.
class Frame extends JFrame {
JPanel panel;
JLabel label;
public Frame() {
inicializarTodo();
}
public void contador() {
Controlador x = new Controlador(this.label);
new Thread(x).start();
}
}
//Segunda clasee
class Controlador implements Runnable {
JLabel label;
public Controlador(JLabel label) {
this.label = label;
}
public void run() {
/*inicializar x e y*/
...
int contador = 0;
while(true) {
x++; y++;
label.setLocation(x,y); //Aqui hago entender que el label se movera por todo el JFrame
label.setText("" + contador);
contador++;
}
}
}
Pongo ese ejemplo porque creo seria mas entendible a que coloque en concreto mi problema que se resolveria de igual forma.
Ahora en C# no puedo mandar la referencia de un componente a otra clase y modificar sus propiedades al ejecutar un nuevo Thread porque aparece una exepcion sobre Cross-thread.
A lo que mi pregunta es como se haria eso de Java en C#, requiero que quede asi puesto a que mi clase controlador divide la tarea importante para mover y modificar componentes del windows form.
Cualquier ayuda les agradezco.