如何改变TextBox为只读,但不改变背景色?

解决方案 »

  1.   

    using System;
    using System.Drawing;
    using System.Windows.Forms;class Test : Form
    {
      Test()
      {
        TextBox TextBox1   = new TextBox();
        TextBox1.Parent    = this;
        TextBox1.ReadOnly  = true;
        TextBox1.BackColor = Color.White;
      }  static void Main()
      {
        Application.Run(new Test());
      }
    }
      

  2.   

    using System;
    using System.Drawing;
    using System.Windows.Forms;class Test : Form
    {
      Test()
      {
        TextBox TextBox1   = new TextBox();
        TextBox1.Parent    = this;
        TextBox1.Text      = "Click Me";
        TextBox1.Click    += delegate
        {
          Color c = TextBox1.BackColor;
          TextBox1.Text      = "ReadOnly";
          TextBox1.ReadOnly  = true;
          TextBox1.BackColor = c;
        };
      }  static void Main()
      {
        Application.Run(new Test());
      }
    }
      

  3.   

    如果颜色一直不改变的话,可以直接在可视化中对控件的backcolor属性进行修改
      

  4.   

    请再问下,在Enable=False的情况下,没办法改不改变字体颜色,我不想字体变成灰色
      

  5.   

    在TextBox.Enable=False的时,不想字体变成灰色,怎么办?
      

  6.   

    只读--设置ReadOnly即可,不需要设置Enabled属性
    如果还想不改变背景颜色,那就再设置BackColor吧
      

  7.   


    this.TestBox1.ReadOnly=true;
    this.TestBox1.BackColor=Color.white;
      

  8.   

    先设置只读属性,然后设置BackColor就可以
      

  9.   

    //请再问下,在Enable=False的情况下,没办法改不改变字体颜色,我不想字体变成灰色如果是这样的话,你试试使用TextBox1.ForeColor
    1,readonly
    2,backcolor | forecolor
    如果不好使的话,再试试richTextBox吧,
      

  10.   

                textBox1.ReadOnly = true;
                textBox1.ForeColor = Color.Black;
                textBox1.BackColor = Color.White;测试过了,放对位置就可以!
    楼上的,我的意思是说,参考空军的代码,再加上一条ForeColor就是楼主的第二个问题的答案了
    参看八楼问
    //请再问下,在Enable=False的情况下,没办法改不改变字体颜色,我不想字体变成灰色 
      

  11.   

    visual studio2010下,在设计时修改TextBox的属性,ReadOnly=true; Enabled=False;