我在用户表单中有一个多页。在运行时,用户可以随时选择添加x个页面。每个页面的元素都是相同的。我想知道是否有办法复制这些元素,还是我需要为每个新页面重新创建这些相同的元素?如果是这样,我如何在页面上指定元素应放置的位置?
答案 0 :(得分:8)
诀窍是将所有控件放在第一页的框架中,然后其余部分变得容易:)
此代码会在创建Page1
后将控件从Page2
复制到Page2
并相应地对齐。
Option Explicit
Private Sub CommandButton2_Click()
Dim l As Double, r As Double
Dim ctl As Control
MultiPage1.Pages.Add
MultiPage1.Pages(0).Controls.Copy
MultiPage1.Pages(1).Paste
For Each ctl In MultiPage1.Pages(0).Controls
If TypeOf ctl Is MSForms.Frame Then
l = ctl.Left
r = ctl.Top
Exit For
End If
Next
For Each ctl In MultiPage1.Pages(1).Controls
If TypeOf ctl Is MSForms.Frame Then
ctl.Left = l
ctl.Top = r
Exit For
End If
Next
End Sub
<强>快照强>
答案 1 :(得分:1)
“运行时错误”-2147417949(80010108)'可能是由于在表单上的其他位置使用了框架。尝试删除任何其他框架并再次运行。