textbox1
{
   textbox1.backcolor=color.black;
   textbox2.backcolor=color.white;
   textbox3.backcolor=color.white;
   ........
   ..........
   textbox10.backcolor=color.white;
}
textbox2
{
   textbox1.backcolor=color.white;
   textbox2.backcolor=color.black;
   textbox3.backcolor=color.white;
   ........
   ..........
   textbox10.backcolor=color.white;
}
.
.
.
.
textbox10
{
   textbox1.backcolor=color.white;
   textbox2.backcolor=color.white;
   textbox3.backcolor=color.white;
   ........
   ..........
   textbox10.backcolor=color.black;
}有没有什么办法不用每个textbox里面都设置其颜色?可以改变textbox的属性来实现这个功能么?谢谢

解决方案 »

  1.   

    我有个办法:1、新建一个方法private void ChangeBackColor()
    {
    textbox1.backcolor=color.white;
    textbox2.backcolor=color.white;
    ...
    textboxN.backcolor=color.white;
    }
    在这个方法里设置所有的textbox背景颜色为白色。2、点击每一个textbox时,先调用上述方法,然后再设定一个为黑色。
      

  2.   

    选到事件里的MouseClike,然后双击该事件
    然后把改颜色的代码写在里面!
      

  3.   

    补充一下。可以写在任何事件里面。写在form1的MouseClick事件里也可以!
      

  4.   

    重写控件 然后在里面写
    public class UbComboBox : System.Windows.Forms.ComboBox
        {
    protected override void OnEnter(EventArgs e)
            {
    this.BackColor=XXX;
    }
    protected override void OnLeave(EventArgs e)
            {            //
    this.BackColor=XXX;            base.OnLeave(e);
            }
    }
    好处是只修改一个控件的属性  那么画面上所有的用到的此控件的属性都会变
      

  5.   

    运行后没有结果啊。下面是我的代码:        public class TextBox : System.Windows.Forms.TextBox
            {            protected override void OnMouseClick(MouseEventArgs e)
                {  
                    this.BackColor = Color.Cyan;
                    base.OnMouseClick(e);
                }
            }
    运行颜色还是没有改变。