1,453
社区成员
发帖
与我相关
我的任务
分享
用Unload Me 然后Form1.Show,就叫“神奇”了?比这神奇的事还多着呢。

' 设计时,在窗体上任意画一个MSHFlexGrid控件,把Visible设置为False(隐藏)
Option Explicit
Private WithEvents GRD As MSHFlexGrid ' 可以事先设计好事件代码
Private mlLoadFlag As Long ' 标识是否动态加载
Private Sub Command1_Click()
If (mlLoadFlag) Then Controls.Remove GRD
Set GRD = Controls.Add("MSHierarchicalFlexGridLib.MSHFlexGrid", "txtTotal")
GRD.Move 60, 0, 4500, 5100 ' 调整位置及大小
GRD.Visible = True
mlLoadFlag = vbTrue ' 标识已经加载
End Sub
Private Sub Form_Load()
mlLoadFlag = 0&
End Sub
Private Sub Form_Unload(Cancel As Integer)
' 这句可用可不用
If (mlLoadFlag) Then Controls.Remove GRD
End Sub[/quote]
试了 可以加载 但是编程的功能不能用了
还没研究透彻呢
自己发现了一个神奇的功能 避免这个BUG
UNLOAD ME
FORM1.SHOW
也算了解决了这个BUG

' 设计时,在窗体上任意画一个MSHFlexGrid控件,把Visible设置为False(隐藏)
Option Explicit
Private WithEvents GRD As MSHFlexGrid ' 可以事先设计好事件代码
Private mlLoadFlag As Long ' 标识是否动态加载
Private Sub Command1_Click()
If (mlLoadFlag) Then Controls.Remove GRD
Set GRD = Controls.Add("MSHierarchicalFlexGridLib.MSHFlexGrid", "txtTotal")
GRD.Move 60, 0, 4500, 5100 ' 调整位置及大小
GRD.Visible = True
mlLoadFlag = vbTrue ' 标识已经加载
End Sub
Private Sub Form_Load()
mlLoadFlag = 0&
End Sub
Private Sub Form_Unload(Cancel As Integer)
' 这句可用可不用
If (mlLoadFlag) Then Controls.Remove GRD
End Sub