多个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);
}
}
好处是只修改一个控件的属性 那么画面上所有的用到的此控件的属性都会变 --------------------编程问答-------------------- --------------------编程问答--------------------
运行后没有结果啊。下面是我的代码:
public class TextBox : System.Windows.Forms.TextBox
{
protected override void OnMouseClick(MouseEventArgs e)
{
this.BackColor = Color.Cyan;
base.OnMouseClick(e);
}
}
运行颜色还是没有改变。
补充:.NET技术 , C#