在程序设计过程中,如何轻松地处理众多的随机事件,往往是制作大型系统首先要考虑的问题之一。用C语言开发Windows程序时,可以方便地使用消息机制(Message),但是,设计VB程序时,就没有这样的方便条件了。例如,多个窗口同时打开同一个表(Table),当在一个窗口中对数据进行了修改,而其他的窗口也能够随之进行数据更新,这时就需要有一条说明数据改变了的消息在所有的窗口间进行广播。如果使用的语言是C,只需要定义一条用户消息(UserMessage),就可以实现这一点。可是如果是用VB编程,做起来就不是那么简单了
不知道大家有什么好的解决办法再线等

解决方案 »

  1.   

    至于如何使用消息处理,我不知道。但是我也有我的处理方法。
    如果第二个窗口是已模态打开的,可以直接在后面刷新。直接在from1中的显示from2的按钮中编辑
    private sub commandButton_click()
    from2.show vbmodel
    '下面直接编辑刷新的代码
    '//////////’/////////
    end sub这样当from2操作完毕时,并且退出时就会操作from1了,对其刷新了。
      

  2.   

    实际上,问题在于 VB 没有给用户留接收消息后响应的接口,类似于触发某一个事件。其实,其他解决方案也不是没有:1 借用窗体的其他事件2 利用全局变量。但窗体要适时检查此变量,还是有个在什么事件中处理的问题。3 利用 API 做回调函数。但只能有一个处理函数。如果在同一个工程中,还不如写一个普通函数调用各窗体的某个过程。
      

  3.   

    可以用全局变量或方法试试,比如说用全局变量,在窗体里放在textbox(设置为不可见),当某窗体修改数据以后,就去修改该textbox的内容,然后在textbox的OnChange事件里去更新每个窗体的表,用全局方法就是直接调用textbox的OnChange事件