编号:QA001346 建立日期: 1999年7月15日 最后修改日期:1999年7月15日 所属类别:
Alan21: 我使用PWIN98,PVB6.0,有如下问题请教: 能否用较少的语句实现:对窗体内的TEXTBOX控件在得到焦点时字体为红色,失去焦点时字体为黑色(假设窗体内的TEXTBOX很多,逐个向其事件中写代码较麻烦)多谢!
回答:
其实你可以使用控件数组实现,这样你只需要写一次事件代码就可以了。 如果由于某种原因你无法使用控件数组,你可以使用下面的办法: 先增加一个类模块(Class1) Option Explicit Public WithEvents txt As TextBox Public Property Set TextBoxCtl(OutsideTextBox As TextBox) Set txt = OutsideTextBox End Property Private Sub txt_GotFocus() txt.ForeColor = vbRed End Sub Private Sub txt_LostFocus() txt.ForeColor = vbBlack End Sub 然后在Form中输入以下代码: Dim clsTextBox() As Class1 Private Sub Form_Load() Dim i, j j = 1 For i = 0 To Controls.Count - 1 If TypeOf Controls(i) Is TextBox Then ReDim Preserve clsTextBox(j) As Class1 Set clsTextBox(j) = New Class1 Set clsTextBox(j).TextBoxCtl = Controls(i) j = j + 1 End If Next End Sub
此问题由李海回答。 把这个问题推荐给朋友 您的意见类别 更好的答案 希望得到进一步解释 我有有关代码可以提供给网友 链接错误 文字错误 其他 您的名字 您的电子邮件 您的建议(请尽可能详细)