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

[0] Índice de Mensajes

Ir a la versión completa