CLR: .Net / Mono / Boo / Otros CLR > C#
Usos del textbox
(1/1)
lorenzobrion:
Hola, todos, soy nuevo en el foro y en C# así que trataré de ser breve y claro.
Me propuse, para mejorar mis escasos conocimientos del lenguaje, ir creando pequeñas aplicaciones personales de .NET que me permitan enfrentarme siempre a nuevos problemas. En este caso, un diccionario alemán-español multifuncional. El primer problema que se me presentó es este:
en un tabla de SQL pretendo guardar una palabra y su traducción correspondiente; pero muchas -la mayoría- de las palabras admiten varias traducciones, que se mostrarían en un textbox, algo así "...traducción1; traducción2; traducción3..."
Lo que quiero saber es cómo hacer clickeable -si es posible- cada uno de esos términos dentro del textbox, para que el usuario pueda seleccionar una de las traducciones y ésta se mostrase luego en otro textbox o bien mostrara un tooltip o cuadro de diálogo -esto no lo he decidido todavía-.
Si alguien sabe cómo hacerlo le estaría muy agradecido.
Y si no se puede que me diera alguna idea de cómo hacer algo similar.
Saludos. :beer:
gabio2:
Am.. segun veo.. todo esta en como llames a tus datos.. en tu SQL.. y como los pases a tu textbox.. no entendí del todo tu problema, si me das un ejemplo más claro.. y más entendible.. probablemente pueda seguir intentando ayudarte.. saludos.
Altrox:
Hola buenas,
es esto lo que intentas hacer?
--- Código: C# --- public Form1() { InitializeComponent(); textBox1.Text = "Traducción1; Traducción2; Traducción3"; } string[] separador = new string[] { ";" }; //Separador de palabras private void textBox1_Click(object sender, EventArgs e) //Evento click de textbox1 { int posicionClickada = textBox1.SelectionStart; //Obtenemos la posicion de la letra donde clickamos string[] palabras = textBox1.Text.Split(separador, StringSplitOptions.None); //obtenemos un array con las palabras int temp = 0; //variable temporal para ir sumando la longitud de cada palabra for (int i = 0; i < palabras.Length; i++) //recorremos el array de palabras { temp += palabras[i].Length; //sumamos a temp la longitud de cada palabra if (posicionClickada <= temp) //Comprobamos si la posición obtenida es inferior o igual a lavariable temporal. Si es true mostramos un mensaje con la palabra y salimos del recorrido for con break { MessageBox.Show(palabras[i]); break; } } }
Saludos!
lorenzobrion:
Pues sí, eso era precisamente lo que estaba tratando de lograr!!!
Gracias!!
Me pondré manos a la obra (hasta que surja otro inconveniente B) )
Saludos.
Navegación
Ir a la versión completa