当前位置:编程学习 > C#/ASP.NET >>

多个textbox,如何单击textbox,改变其背景颜色?

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、新建一个方法private void ChangeBackColor()
{
textbox1.backcolor=color.white;
textbox2.backcolor=color.white;
...
textboxN.backcolor=color.white;
}
在这个方法里设置所有的textbox背景颜色为白色。

2、点击每一个textbox时,先调用上述方法,然后再设定一个为黑色。


--------------------编程问答-------------------- 选到事件里的MouseClike,然后双击该事件
然后把改颜色的代码写在里面! --------------------编程问答-------------------- 补充一下。可以写在任何事件里面。写在form1的MouseClick事件里也可以! --------------------编程问答-------------------- 重写控件 然后在里面写
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);
        }
}
好处是只修改一个控件的属性  那么画面上所有的用到的此控件的属性都会变 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 4 楼 haisheng707 的回复:
重写控件 然后在里面写
public class UbComboBox : System.Windows.Forms.ComboBox
    {
protected override void OnEnter(EventArgs e)
        {
this.BackColor=XXX;

protected override void OnLeave(EventArgs……

运行后没有结果啊。下面是我的代码:

        public class TextBox : System.Windows.Forms.TextBox
        {

            protected override void OnMouseClick(MouseEventArgs e)
            {  
                this.BackColor = Color.Cyan;
                base.OnMouseClick(e);
            }
        }
运行颜色还是没有改变。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,