日期:2014-05-18  浏览次数:20891 次

[原创小窍门]做个像windows计算器显示屏一样无焦点又不反灰的文本框!!
其实原理说穿了很简单,不过也困绕了我一段时间,最早是自己给文本框上色的想法,可不适用txtbox1.Enabled   =   false的状态,不成功!后来最终想到个另类方法,
在这里和大家分享我的心得:

例如要做的文本框是txtbox1,关键代码如下:
txtbox1.GotFocus   +=   new   EventHandler(txtbox1_GotFocus);

private   void   txtbox1_GotFocus(object   sender,   EventArgs   e)
{
      txtbox1.Enabled   =   false;
      txtbox1.Enabled   =   true;
}

至于代码放在哪就不多说了...这里只说原理:

每当txtbox1获得焦点时,禁用txtbox1,焦点会自动转到下一个控件上,再启用它
由于电脑速度很快,人眼基本看不到txtbox1反灰的瞬间,却不影响文本显示...
就这么简单!!

当年我做计算器时想了个这么个另类的解决办法,大家谁还有更好的方法,
都说一说,有30分给加...


------解决方案--------------------
我比较关心窗体失去焦点时如何不变灰
------解决方案--------------------
可以用
void textBox1_Enter(object sender, EventArgs e)
{
ActiveControl = null;
}
------解决方案--------------------
呵呵

楼主怎么搞得像幼儿园老师在发糖
------解决方案--------------------
看见伴水 接分
------解决方案--------------------
up