PDA

Ver la Versión Completa : como asignar color a palabras en un textbox


uper
22-12-2016, 17:18:56
buenos días, tengo un textbox donde se debe de capturar el memo correspondiente al pedido que se esta levantando, pero quien captura en ese textbox hay que cambiarle el color a ciertas palabras, tengo el código solo que si cambia a esas palabras pero todas y ademas cuando termina de escribir me regresa una posición, situación que no debería hacerlo, es decir irse al final de lo ultimo que se escribió, presento el código:


string[] Reservadas = new string[] { "RECORDAR", "CITA", "REUNION", "ASIGNAR", "PRESENTARSE" };

private void textBox1_TextChanged(object sender, EventArgs e)
{
var palabras = this.textBox1.Text.ToUpper().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var resultado = from b in Reservadas
from c in palabras
where c == b
select b;

int inicio = 0;
foreach (var item in resultado)
{
inicio = this.textBox1.Text.ToUpper().IndexOf(item, inicio);
this.textBox1.Select(inicio, item.Length);
textBox1.ForeColor = Color.Blue;
this.textBox1.SelectionStart = this.textBox1.Text.Length;
inicio++;
}
//el resto de palabras debe de colorear en negro


Esto es por que cuando se vuelva a visualizar el pedido, se muestre el memo y presente ciertas palabras cambiadas de color para recordar al agente algo importante.

gracias

aposi
22-12-2016, 19:19:52
Creo que para lograr lo que quiere tienes que usar un richedit

aqui tienes un ejemplo

http://www.clubdelphi.com/foros/showthread.php?t=85706

uper
22-12-2016, 19:50:04
ok, tendre que observar como esta el codigo para pasarlo a c# o utilizar fucniones equivalentes

gracias