locked
cambiar el color a un textbox RRS feed

  • Pregunta

  • bueno amigos la pregunta que les traigo hoy es que deseo cambiar el color del texto

    de un textbox que tiene la propiedad readonly= true;

    lo he intentado asi

       textBox2.ForeColor = Color.Red;

    pero no me funciona, cualquier ayuda es bien recibida gracias


    proyecto de pagina web

    sábado, 11 de agosto de 2012 0:38

Respuestas

  • vas a tener que crear un control custom que herede del TextBox

    http://social.msdn.microsoft.com/forums/en-US/winforms/thread/de63a4e2-f453-49b3-ab0a-c338080681f0/

    para poder usar el OnPaint y cambiar el color


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 11 de agosto de 2012 1:43

Todas las respuestas

  • vas a tener que crear un control custom que herede del TextBox

    http://social.msdn.microsoft.com/forums/en-US/winforms/thread/de63a4e2-f453-49b3-ab0a-c338080681f0/

    para poder usar el OnPaint y cambiar el color


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 11 de agosto de 2012 1:43
  • El problema de esto reviste la siguiente complejidad / requisito.

    1) Para que se aplique (se vea el resultado del cambio de color) debes cambiar el BackColor (Yo en mi ejemplo, le asigno el que tiene osea....  

    textBox1.BackColor = textBox1.BackColor;

     pero al fin y al cabo lo central esta en esto

      

    Ejemplo Completo (Necesitas un Button un TextBox y un ComboBox) y al TextBox setearle la propiedad ReadOnly.

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
    
                CargaListadoColor();
    
            }
    
            private void CargaListadoColor()
            {
                List<ListaColores> listado = new List<ListaColores>();
    
                listado.Add(new ListaColores { Nombre = "Red", Valor = 0 });
                listado.Add(new ListaColores { Nombre = "Orange", Valor = 1 });
                listado.Add(new ListaColores { Nombre = "Yellow", Valor = 2 });
                listado.Add(new ListaColores { Nombre = "Green", Valor = 3 });
                listado.Add(new ListaColores { Nombre = "Blue", Valor = 4 });
                listado.Add(new ListaColores { Nombre = "Indigo", Valor = 5 });
                listado.Add(new ListaColores { Nombre = "Violet", Valor = 6 });
    
                comboBox1.DisplayMember = "Nombre";
                comboBox1.ValueMember = "Valor";
                comboBox1.DataSource = listado;
    
            }
    
    
    
            private Color[] colores = new Color[] { Color.Red,
        Color.Orange,
        Color.Yellow,
        Color.Green,
        Color.Blue,
        Color.Indigo,
        Color.Violet
      };
    
            private void button1_Click(object sender, EventArgs e)
            {
                textBox1.Text = "Esto es un Ejemplo de que se puede Cambiar el Color en Tiempo de Ejecucion";
    
            }
             
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                textBox1.ForeColor = colores[Convert.ToInt32(comboBox1.SelectedValue)];
                textBox1.BackColor = textBox1.BackColor;
            }
     
        }
    
        public struct ListaColores
        {
            public Int32 Valor { get; set; }
            public String Nombre { get; set; }
    
        }

    Probado y Funcionando.

    Saludos y espero que te haya sido de Ayuda.


    Non Scripted Human

    jueves, 16 de agosto de 2012 5:01