创建了一个用户控件,然后在运行时将控件放到一个实例化的窗体里(这个窗体已经先定义好了),但这个控件上有一个[退出]按钮,请问:如何能让用户在点击此按钮时能将窗体关闭????????

解决方案 »

  1.   

    在该控件(Myctl)中定义一个事件用来表示用户点击了按钮,比如说
    public event PostButtonClicked() 
    '在控件的该按钮的click中fire此事件
    private sub command1_click() 
    ......
    raiseevent PostButtonClicked
    end sub
    在你定义的窗体中该控件的PostButtonClicked中添加事件的脚本:
    private sub Myctl_PostButtonClicked()
    .......
    unload me
    end sub
      

  2.   

    运行时添加的?使用VBControlExtender对象?假设控件工程名prjCtl,控件名如上Myctl
    Private WithEvents oMyctl As VBControlExtender
    在窗体Load中添加:
    Licenses.Add "prjCtl.Myctl"
    Set oCtlDX = Me.Controls.Add(mc_"prjCtl.Myctl", mc_oMyctl )Private Sub oMyctl_ObjectEvent(Info As EventInfo)
    Select Case Info.name
    case "PostButtonClicked"
    unload me
    case else
    end select
    end sub
      

  3.   

    不好意思前面
    Set oCtlDX = Me.Controls.Add(mc_"prjCtl.Myctl", mc_oMyctl )中
    的那两个mc_不要,应该为
    Set oCtlDX = Me.Controls.Add("prjCtl.Myctl", oMyctl )