VB中text.enable=false后的颜色问题

在VB中
对控件text1.enable=false之后,文字会变灰色(这个大家都知道)
问题是怎么把灰色的字显示为自己想显示的颜色呢?如黑色

我搜过网页,遇到此类问题的人并不多!也没什么解决方法,只是换了一种实现的合适方法
比如实现:当某一text2控件中的值不符合时,text1.enable=false,此时文本还是要显示为黑色,当text2控件符合后,自动置text1.enable=true
locked之后鼠标还是可以停在那里的
如果能够实现:如果焦点在任意一个text里,设text1.locked=true之后,鼠标点text1,焦点自动返回到那个焦点,那也没关系

问题是如何得知当按text1前是哪个得到焦点的?因为操作不顺序的是随机的,知道就不这么麻烦了

第1个回答  2008-11-05
你可以用Text1.Locked = True,这样Text1为只读,而且可以改变颜色

'点击Text1时焦点回到Text2
Private Sub Text1_Click()
Text2.SetFocus
End Sub

'如果有多个Textbox控件,在每个Textbox的GotFocus事件写代码,以下是例子
Dim FCs As Integer

Private Sub Text1_GotFocus()
Select Case FCs
'FCs的值永远是最后一个得到焦点的Textbos赋给的值,跟据变量的值判断把焦点还给谁
Case 2: Text2.SetFocus
Case 3: Text3.SetFocus
End Select
End Sub

Private Sub Text2_GotFocus()
FCs = 2 '当Text2得到焦点时赋给变量FCs值2
End Sub

Private Sub Text3_GotFocus()
FCs = 3 '当Text2得到焦点时赋给变量FCs值3
End Sub
第2个回答  2008-11-05
明知这是不可能的还要问,当控件失效,文本哪会有颜色,钻这牛角尖有意思吗?应该要其它方法实现你所需要的功能,要文件框失效,无非是不想让文本框处于编辑状态,你为何不用text.lock属性,这样也可以保证文本框不可编辑,但不会影响其颜色显示。本回答被提问者采纳
第3个回答  2008-11-05
没有可能解决了
相似回答