在WinForm中有几个TextBox,二个按钮.按钮代码中一个写:
this.TextBox1.Enabled = true;
this.TextBox2.Enabled = true;另一个代码中写:
this.TextBox1.Enabled = false;
this.TextBox1.Enabled = false;默认各个TextBox的Enabled属性设为false.在界面上按下第一个按钮之后,各个控件中可以进行编辑,即变白了,可以得到焦点;
如果不将任何一个TextBox得到焦点,就按第二个按钮(即轮流按两个按钮,中间不进行任何操作),界面上的各个控件可以正常变灰.
但是,如果按下第一个按钮,将TextBox得到焦点之后,再去按第二个按钮时,曾经得到焦点的TextBox不会变灰,还是白的,但不可以得到焦点了.请问高人,这是怎么回事,应该如何处理?
this.TextBox1.Enabled = true;
this.TextBox2.Enabled = true;另一个代码中写:
this.TextBox1.Enabled = false;
this.TextBox1.Enabled = false;默认各个TextBox的Enabled属性设为false.在界面上按下第一个按钮之后,各个控件中可以进行编辑,即变白了,可以得到焦点;
如果不将任何一个TextBox得到焦点,就按第二个按钮(即轮流按两个按钮,中间不进行任何操作),界面上的各个控件可以正常变灰.
但是,如果按下第一个按钮,将TextBox得到焦点之后,再去按第二个按钮时,曾经得到焦点的TextBox不会变灰,还是白的,但不可以得到焦点了.请问高人,这是怎么回事,应该如何处理?
protected override void OnEnter(EventArgs e) //重载得到焦点的方法
{
base.OnEnter(e);
this.BackColor = Color.Cyan;
}protected override void OnLeave(EventArgs e)
{
base.OnLeave(e);
this.BackColor = Color.White;
}
this.TextBox1.Enabled = false;
在执行这个之前,先判断并冲这里移除焦点。