在我的程序中,我正在使用计时器使图片框可见并且经过一定的时间后,通过使用图片框(1-9).visible = true/false使它们不可见。检测启用了多少项目
最后,我必须计算在任何给定时间有多少图片框可见。
我无法弄清楚我已经尝试将它们添加到一个变量,但计时器每秒都会反复。我几乎不知道该怎么办
在我的程序中,我正在使用计时器使图片框可见并且经过一定的时间后,通过使用图片框(1-9).visible = true/false使它们不可见。检测启用了多少项目
最后,我必须计算在任何给定时间有多少图片框可见。
我无法弄清楚我已经尝试将它们添加到一个变量,但计时器每秒都会反复。我几乎不知道该怎么办
你需要检查picturebox(1-9).visible
本身。可以设置相同的变量,也可以检查给定的值。
只需遍历表单中的所有图片框并检查其可见属性。
Sub foo()
Dim ct As Control
Dim sum As Integer
sum = 0
For Each ct In Me.Controls
If TypeName(ct) = "Image" Then
If ct.Visible = False Then
sum = sum + 1
End If
End If
Next
MsgBox sum
End Sub
该代码可用于在工作表上的图像,但可以很容易地修改你的地方是pictureboxes:
'Count the visible number before starting.
Dim NumberVisible As Integer
NumberVisible = 0
For i = 1 To 9
If myWorkSheet.Shapes(i).Visible = msoTrue Then
NumberVisible = NumberVisible + 1
End If
Next
'....
'Start timer, do timer code here.
'....
myWorkSheet.Shapes(i).Visible = msoTrue
NumberVisible = NumberVisible + 1
'...
myWorkSheet.Shapes(i).Visible = msoFalse
NumberVisible = NumberVisible - 1
请说明您的具体问题或添加额外的细节,突显正是你需要的。正如目前所写,很难确切地说出你在问什么。 – 2013-12-17 14:36:42
您的图片框在Access中吗?你的代码到目前为止看起来如何? – Mike
每次你改变'PictureBox'的可见性时,都会改变'NumberVisible'变量的值。如果你只是隐藏了一个'PictureBox',从'NumberVisible'减去1。如果您刚刚显示了一个“PictureBox”,请将“NumberVisible”的值加1。在启动定时器之前,您需要知道有多少可见,但这与检查每个“PictureBox”的可见性属性一样简单。 – Stewbob