用了 
propertychange()
没起作用,在AX的属性页设置了属性,按回车又没有了.高手帮帮忙啊,我才开始学做ActiveX.

解决方案 »

  1.   

    假设自定义属性为MyName ,类型是String'缺省属性值:
    Const m_def_MyName = "Name"'定义属性变量:
    Dim m_MyName As String
    Public Property Get MyName() As String
        MyName = m_MyName
    End PropertyPublic Property Let MyName(ByVal New_MyName As String)
        m_MyName = New_MyName
        PropertyChanged "MyName"
    End Property'初始化属性
    Private Sub UserControl_InitProperties()
        m_MyName = m_def_MyName
    End Sub'从存贮器中加载属性值
    Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
        m_MyName = PropBag.ReadProperty("MyName", m_def_MyName)
    End Sub'将属性值写到存储器
    Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
        Call PropBag.WriteProperty("MyName", m_MyName, m_def_MyName)
    End Sub
      

  2.   

    类模块中,使用Get,Let,Set来设置或获取属性值