您的位置:程序门 -> vb -> 基础类



如何在不同页面间获得控件属性值


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何在不同页面间获得控件属性值
发表于:2007-04-09 13:14:44 楼主
本人用vb做了两个页面
form1打开form2,在unload   form2之后,我想刷新form1的datagrid控件,或者获得form1上的一个label1控件的caption属性,试验许多次,总没法取得数据,如果在str=form1.label1.caption之前使用一个msgbox   对话框,就能完整获得数据,请问该如何解决,是什么原因
发表于:2007-04-09 14:06:201楼 得分:0
这个应该可以啊,要不,你在form中增加一个public函数取label的值,form2调用public函数
发表于:2007-04-09 14:20:062楼 得分:0
该不会出现那种问题吧?什么地方没有设置好吧
发表于:2007-04-09 16:41:223楼 得分:0
试过了,发现是另一问题,我在form2   按下   esc   的presskey事件下   unload   me   后,对form1的一个listbox进行了添加项,然后再获取新的添加项失败,新的添加项没有加入listbox,但当我用断点的时候,程序又能正常运行,对form1的listbox进行了更新,请问这怎么解决,目前用msgbox让程序停留,按确定后,可以正常运行,但程序中不能有太多的msgbox,也不是要的
发表于:2007-04-09 18:02:024楼 得分:0
奇怪的问题,这个和关闭form2没有关系感觉,是不是楼主的事件有问题啊,你在哪个事件里面写的str=form1.label1.caption
发表于:2007-04-09 18:06:335楼 得分:0
from2   的presskey事件里面写的
发表于:2007-04-09 18:14:036楼 得分:0
mdlquestionsource.displaypersonquestioniteminfo   trim(itemid)
上面是调用模块里面的方法displaypersonquestioniteminfo方法,为listbox填充数据                               question=frmindex.lstquestionitem.itemdata(frmindex.lstquestionitem.listindex)
这是从listbox获得信息

下面是playpersonquestioniteminfo方法
public   function   displaypersonquestioniteminfo(byval   pid   as   string)
        dim   strsql   as   string
        frmindex.lstquestionitem.clear
on   error   goto   msgerr:
        strsql   =   "select   *   from   表信息   where   表id   in   (select   表id   from   结果   where   个人编号= ' "   &   pid   &   " '   group   by   表id   )   order   by   表中文名 "
        if   mdlconnectiondb.EXECutestr(strsql)   then
                while   not   g_tblrs.eof
                        frmindex.lstquestionitem.additem   (g_tblrs.fields( "表中文名 ")   +   "( "   +   g_tblrs.fields( "表英文名 ")   +   ") ")
                        frmindex.lstquestionitem.itemdata(frmindex.lstquestionitem.newindex)   =   g_tblrs.fields( "表id ")
                        g_tblrs.movenext
                wend
        end   if
        if   frmindex.lstquestionitem.listcount   >   0   then
                frmindex.lstquestionitem.listindex   =   0
        end   if
        exit   function
msgerr:
        msgbox   "查询失败,纪录不存在! "
end   function
发表于:2007-04-09 18:15:377楼 得分:0
question=frmindex.lstquestionitem.itemdata(frmindex.lstquestionitem.listindex)
这里一直报错,listindex=-1
但用断点检查,又能得到信息
发表于:2007-04-10 14:14:598楼 得分:0
加入一些等待语句,应该就好些了。

呵呵,以前我们都说微软的程序中会存在大量等待和自循环语句,试试吧。


快速检索

最新资讯
热门点击