好多毛病啊!
1、在Form1的通用部分定义了t和n,又在Picture1_Click()过程中定义了t和n,那么在Picture1_Click()过程中n始终等于"";
2、定义多个变量的方法是:Dim t as string,n as string建议:
在Picture1_Click()过程中:
dim t 
t="..."
do while true
    if now()>=t then
        Shell ("C:\WINDOWS\system32\SHUTDOWN.EXE -s")
        exit do
    end if
    doevents
loop
...不用Timer。

解决方案 »

  1.   

    Dim t, n As String
    这样定义的结果是t为Variant类型,n为String类型
    如果全部定义为String类型,应该:
    Dim t As String, n As String
      

  2.   

    Dim t, n As String
    这样定义的结果是t为Variant类型,n为String类型
    如果全部定义为String类型,应该:
    Dim t As String, n As String
      

  3.   

    哦,原来是这样定义的啊,谢谢
    to bob008(冻冬):
    我也想做得小一点,实用一点啊,但是怎么做呢?
      

  4.   

    調用 window 的 api 麼 很容易就搞定的