z*****n 发帖数: 83 | 1 I want to do something to all textboxes in a form by
the following code (e.g. add 1 to .text)
call mysub(myform)
Private Sub mysub(ByVal myContainer As Object)
Dim myControl As Control
For Each myControl In myContainer.Controls
If TypeOf myControl Is TextBox Then
'do something to mycontrol
ElseIf myControl.HasChildren Then
Call mysub(myControl)
End If
Next
End Sub
now the strange thing is all my numericalupdown controls
are also change |
|
b***i 发帖数: 3043 | 2 谢谢,看了大家的回复,看来有希望。
我要做的是这么一件事情。我拿到一个项目的源代码,整个项目实现有好几十个类,其
中具体操作的实现里面有几百个函数,其中大约10几个是有关访问网页的,其他的是计
算。中间嵌套调用很多。举个例子,比如,读网页,分析网页,这些都是有一个共用的
变量来记录现在的状态的。这个项目只能读写一个网页。
我想把多线程加进去,比如一个线程读一个网页,另一个可以读另一个。但是,我现在
有一个static的控制变量,如果一个线程改了该网页的状态,如成功与否,是否再试一
次,网页内容多少,另一个就发现也改了。
怎么做呢?我想的就是生成多个控制变量数组,或者每个线程动态生成这个控制变量,
把这个变量
传入相关的每一个函数。有180多个。
另一个办法,是不用改180个函数的定义,而是在每个具体相关的函数(大约10个)需
要首先获得当前线程的id,然后在控制变量的数组里面取出这个线程对应的那个控制变
量。这个只要保证线程id不超过100个,我数组先定义个1000这么大。
本质上,是每个线程运行的时候,从线程堆栈里找出线程的唯一的标志信息,然后取得
和该线程对应的控制变量。这个变量是... 阅读全帖 |
|
b***i 发帖数: 3043 | 3 看了一下,似乎这个就是我最终想要的。
就是说,在我自己实现了Runnable的类里面定义一个static变量
class MyThread implements Runnable{
ThreadLocal myControl...
public void run(){
call other class, other functions
}
...
}
class Other {
public void dosomething(){// without passing in any parameter
MyThread.myControl...就可以访问该线程所拥有的那个Control,而不是所有线程
共有一个。
虽然在语法上是static变量,但是其实是线程相关的。当然,也可能需要通过函数访
问,不是直接访问这个变量。
} |
|