5

我在用户表单中有一个多页。在运行时,用户可以随时选择添加 x 个页面。每个页面的元素都是相同的。我想知道是否有办法复制这些元素,或者我是否需要为每个新页面重新创建这些相同的元素?如果是这样,我如何在页面上指定应该放置元素的位置?

在此处输入图像描述

4

2 回答 2

8

诀窍是将所有控件放在第一页的一个框架中,然后其余的就变得容易了:)

此代码将在创建后将控件复制Page1到并相应地对齐它们。Page2Page2

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

快照

在此处输入图像描述

于 2012-05-30T19:21:26.020 回答
1

“运行时错误 '-2147417949 (80010108)' 可能是由于窗体上的其他位置有一个框架。尝试删除任何其他框架并再次运行。

于 2014-09-08T10:25:37.430 回答