1,如果你的Frm1没有unload,可以在Frm2中用Frm1.GSH来访问,unload的话就用全局变量;2,Ctbl_Keydown(参数列表);3,全局变量

解决方案 »

  1.   

    1.添加一模块:public GSH 
    在frm1中:frm2.show 
    在frm2中:xxxxxx=GSH2.frm2_load()
          call Ctbl_Keydown(xxxxxx as long)
      end sub3.仍然在模块中添加公有变量 Public RETURN
      在frm2中:RETURN=xxxxxx 
      在frm1中:xxxxxx=RETURN4.frm2.show 1
      

  2.   

    4,
    '把下面代码放在一个模块里'----begin-------Private Declare Function SetWindowPos Lib "user32" _
       (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
        ByVal x As Long, ByVal y As Long, _
        ByVal cx As Long, ByVal cy As Long, _
        ByVal wFlags As Long) As Long
    'used to set form always on top
    Public Const HWND_TOPMOST = -1
    Public Const HWND_NOTOPMOST = -2
    Public Const SWP_NOMOVE = &H2
    Public Const SWP_NOSIZE = &H1
    Public Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
    Public Sub AlwaysOnTop(TheForm As Form, Toggle As Boolean)
    ' TheForm:  The form you want to make always on top or not
    ' Toggle:   Boolean (True/False) - True for always on top, False for normal
        
        If Toggle = True Then
            SetWindowPos TheForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
        Else
            SetWindowPos TheForm.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
        End If
        
    End Sub'-----end--------------Private Sub Form_Load()
     
        Me.Show
        AlwaysOnTop Me, True
        
    End Sub
      

  3.   

    1、我要在Frm1中打开Frm2,并传递一个参数过去,比如"GSH",如何做?
    1)、定义全局公共变量,2)定义模块级变量。frm2.strgsh="GSH" 。3)、作为属性传递,frm2中加:
    Public Property Let strGSH(GSH As String)  '参数类型自己选择。
        Str = GSH
    End Property
    在frm1中写::frm2.strGSH="asdfsfas"2、我打开Frm2后想触发其中Ctb1控件的Keydown事件,在Form_load事件中怎么写?
    先写好keydown过程。在formload时直接调用:CtBl_Keydown(key,xxx)3、我在Frm2中得到了值,比如"RETURN",在关闭Frm2回到Frm1后能在Frm1中得到该值,怎么做?
    在quaryunload中传值,具体见1。
    4、我想Frm2打开后是Response型的,即显示在最前面,除非关闭它,否则不能让其他窗口覆盖它,怎么设置?
    见楼上。