Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 11149|回复: 7

[已解决]类的属性 - 设置文本框背景色

[复制链接]
发表于 2012-1-4 15:02 | 显示全部楼层 |阅读模式
附件就是这样子的:在空白工作簿里插入一个窗体,窗体里插入三个文本框

请问:如何用类的属性,在窗体初始化后,三个文本框的backcolor就变为vbyellow?
谢谢!


最佳答案
2012-1-4 15:43
类SETBC

  1. Private WithEvents Tb As MSForms.TextBox
  2. Sub St(t As MSForms.TextBox)
  3.     Set Tb = t
  4.     Tb.BackColor = vbYellow
  5. End Sub
复制代码

  1. Option Explicit
  2. Public Arr(1 To 3) As SetBC
  3. Sub 按钮1_Click()
  4.     UserForm1.Show 0
  5. End Sub
复制代码
  1. Option Explicit
  2. Private Sub UserForm_Initialize()
  3.     Dim i As Byte
  4.     For i = 1 To 3
  5.         Set Arr(i) = New SetBC
  6.         Arr(i).St Me.Controls("textbox" & i)
  7.     Next
  8. End Sub
复制代码
111.rar (11.73 KB, 下载次数: 62)
 楼主| 发表于 2012-1-4 15:27 | 显示全部楼层
111.rar (7.77 KB, 下载次数: 15)
回复

使用道具 举报

发表于 2012-1-4 15:43 | 显示全部楼层    本楼为最佳答案   
类SETBC

  1. Private WithEvents Tb As MSForms.TextBox
  2. Sub St(t As MSForms.TextBox)
  3.     Set Tb = t
  4.     Tb.BackColor = vbYellow
  5. End Sub
复制代码

  1. Option Explicit
  2. Public Arr(1 To 3) As SetBC
  3. Sub 按钮1_Click()
  4.     UserForm1.Show 0
  5. End Sub
复制代码
  1. Option Explicit
  2. Private Sub UserForm_Initialize()
  3.     Dim i As Byte
  4.     For i = 1 To 3
  5.         Set Arr(i) = New SetBC
  6.         Arr(i).St Me.Controls("textbox" & i)
  7.     Next
  8. End Sub
复制代码
111.rar (11.73 KB, 下载次数: 62)
回复

使用道具 举报

 楼主| 发表于 2012-1-4 16:05 | 显示全部楼层
谢谢liuguansky !
这样是不是通过事件实现的呀?
我不知道,可不可以用属性方式实现?

点评

类模块中窗体的初始化事件好像没有。。不知道你说的属性是什么意思。 背景色的设置已经放在类模块里面完成了。也是通过属性完成的啊。  发表于 2012-1-4 16:21
回复

使用道具 举报

发表于 2012-1-4 16:30 | 显示全部楼层
原来类本来就有这个属性啊,直接用就行了吧
回复

使用道具 举报

 楼主| 发表于 2012-1-4 16:48 | 显示全部楼层
碰到这样情况:希望一批文本框有特定要求(如只允许输入数字)。

于是我想,对于这样一批有特定要求的文本框,是否需要通过类的属性的方式,使它们统一实现要求。于是有了1楼问题。如果有特点要求还有很多?比如,字体18,字体颜色红色,字体加粗,字体黑体。这些都是属性吧。

就好像打来的饭盒,我希望只打回锅肉和番茄鸡蛋,那么我打来这样的盒饭,算不算有别于随便打来的盒饭,而单独称作某一类呀?

点评

所以啊,这就是类容易维护的原因啊。 你可以直接修改类中的属性设置,所有的实例都会更改了。输入数字要用事件哦。我以前有回复过这类问题的,你搜索下。  发表于 2012-1-4 16:50
回复

使用道具 举报

 楼主| 发表于 2012-1-4 17:01 | 显示全部楼层
除非是现在定义一个全新的东西,才会去用类的属性设计它,我们几乎遇不上这种情况。

我们学习的类,是针对已经定义好的对象。例如,比文本框的背景色就是已经定义好了的(原理说不了,总之就是好了的)

我先这样理解好了
回复

使用道具 举报

 楼主| 发表于 2012-1-4 17:08 | 显示全部楼层
看来还是想的例子不好,自己也是糊糊涂涂的问,先放着,慢慢理解吧。

谢谢liuguansky 、吕布!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 18:13 , Processed in 0.408258 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表