窗体Form1中有函数 GetInfo(i as Integer)
用来接收从别的窗体或控件中传来的参数
并根据i的值来更新替换Form1上的Image控件中的图片
Public Function GetInrfo()
  if i=1 then
     Image1.picture=loadpicture("001.gif")'//路径没问题
  else
     Image1.picture=loadpicture("002.gif")'//路径没问题
……
End Function问题是
函数GetInfo 接收到参数之后
Image1中的图片始终无法成功的更新替换!!!!
很郁闷……
我想请教该如何解决这个问题??

解决方案 »

  1.   

    我单在一个窗体中试是没什么问题的因为我是在Form1窗体中单击一个按钮后调用 用户控件中的接口函数向外发送请求
    当用户控件接收到返回的数据包后就调用Form1的GetInfo()
    GetInfo中的其它操作都是可以的,比如Msgbox
    只是这个见鬼的东西它就死活不能见效!
    还有我想在GetInfo中让几个 CheckBox的Value变成0 也是不能见效的
    我不知道为什么
    明明它也执行到那里了的
      

  2.   

    加载后调用Image1.Refresh
    再不行 使用pictureBox
      

  3.   

    窗体Form1是已经加载了的,Click按钮之后是一直显示(未关闭)
    我在GetInfo()中也用了 Form1.Refresh 和 Image1.Refresh
      

  4.   

    没有
    我没有限制什么属性我在程序中执行 LoadPicture() 及CheckBox.value =0、1
    这些都没有效果了
    没有更新窗体上的那些控件的值
    ……
      

  5.   

    这个问题已经解决了 
    做个小结:
    由于先前我在用户控件中的不同地方在每次调用Form1的时候都定义了 Dim Obj as New Form1
    语法上没有错误
    而且设置断点的时候发现也能执行都上面我说的那些地方
    只是有些东西执行了,但是没有执行效果
    比如:
      if i=1 then
         Image1.picture=loadpicture("001.gif")'//路径没问题
      else
         Image1.picture=loadpicture("002.gif")'//路径没问题
    ……
    图片没有发生改变、更新
    :)
    解决的方法:
    在用户控件的开始声明部分定义 Dim Obj as New Form1     (仅定义一次!!!!)
    并且在以后不再重复定义!!!!!
    调用的时候只需 Call Obj.GetInrfo() 就可以了感谢大家的参与
    结帖
    :)