Como convertir una variable en una pieza de código en c#

Tengo un problema creo que grave, espero me puedan ayudar.

El punto es, en c# puedo modificar las propiedades por ejemplo de un textbox así.

textbox1.text = 'datos';

Con lo anterior se modifica la propiedad text. Mi problema es que tengo varios textbox y según el que seleccione el usuario ese debe ser editado.

Por ello guardo los datos del texbox en una variable así.

var textseleccion = "textbox1.text";

Lo que quiero saber es como hacer para que la variable se convierta en código, es decir, que al escribir.

textseleccion = "datos";

En vez de asignarle "datos" a la variable textseleccion, cambie la variable por el código que contenía para que quede así.

textbox.text="datos";

Respuesta
1

- Para comenzar el valor de la variable "textSeleccion" no se debe asignar así, lo debes asignar sin las comillas dobles (var textseleccion = textbox1.text)

- Para pasarle el valor de textSeleccion a un textbox indefinido, debes crear un objeto textbox "variable", algo así;

string datos = "mi texto";
textbox textBoxVariante;
if (checkbox1.checked == true)
{
   textBoxVariante = textbox1;
}
else
{
   textBoxVariante = textbox2;
}
textBoxVariante.text = datos;
textBoxVariante.dispose();

Creo que no se me entendió. El valor de la variable textSeleccion esta entre comillas por que no hace referencia a un texbox, sino que es un texto.

Pero bueno, tal vez se entienda mejor lo que quiero hacer de la siguiente manera.

Digamos que tengo una variable con el nombre de un textbox guardado como texto, así.

var textboxausar = "textbox1";

El valor de dicha variable podría cambiar en tiempo de ejecución del programa, a valer por ejemplo "textbox2" o "textbox3".

Luego quiero hacer algo así.

textboxausar.Text = "este cuadro de texto es el actual";

Solo que obviamente manda error. Lo que yo quisiera es que C# transforme la variable textboxausar por código. De modo que reemplace.

textboxausar.Text = "este cuadro de texto es el actual";

POR el nombre de textbox guardado en la variable asi.

textbox1.Text = "este cuadro de texto es el actual";

Espero haberme explicado. Gracias.

En la última parte del mensaje anterior te he dejado un código, ese te puede servir solo tienes que adaptarlo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas