我正在處理這個問題。我有一個在用戶輸入值后添加的用戶表單(例如,如果他想添加 3 個成員,用戶表單在重命名它們后會創建 3 個具有相同框的不同頁面)。
我現在有這個:

按下“Lanzar”后,用戶表單將創建更多帶有“Datos Educando 2”、“Datos Educando 3”...等的頁面,采用“Educandos a inscribir”中引入的值:
代碼如下:
Private Sub lanzar_numero_educandos_Click()
Dim l As Double, r As Double
Dim ctl As Control
Me.MultiPage1.Pages(1).Visible = True
If Me.MultiPage1.Pages.Count > 2 Then
For a = Me.MultiPage1.Pages.Count - 1 To 2 Step -1
Me.MultiPage1.Pages.Remove a
Next a
End If
Me.MultiPage1.Pages(1).Visible = True
If educandos_a_inscribir.Value <> 1 Then
For a = 1 To educandos_a_inscribir.Value
MultiPage1.Pages.Add
MultiPage1.Pages(a).Controls.Copy
MultiPage1.Pages(a 1).Paste
For Each ctl In MultiPage1.Pages(a).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(a 1).Controls
If TypeOf ctl Is MSForms.Frame Then
ctl.Left = l
ctl.Top = r
Exit For
End If
Next
Me.MultiPage1.Pages(a 1).Caption = "Datos Educando " & a
Next a
Me.MultiPage1.Pages(1).Visible = False
End If
End Sub
現在,我遇到的問題是使用此代碼生成的頁面在每個 TextBox 上都有隨機名稱,因此我無法找到用戶介紹的資訊。
例如,這是第一頁(我已經知道名字的那一頁):

在這里,文本框“Nombre Educando”被稱為“nombre_educando_1”,所以我可以很容易地在代碼中找到它:

復制第一頁時創建的文本框具有隨機名稱(例如“TextBox 34”、“TextBox 35”……等等),所以我無法控制它們的名稱。
有一種方法可以生成編輯 TextBox 名稱的頁面嗎?例如,對于生成的第二個頁面,上例中的 TextBox 應該是“nombre_educando_2”等等。
謝謝!
uj5u.com熱心網友回復:
第一頁上的每個控制元件都有一個名為 的屬性Tag。您可以使用獨特且有意義的值來評估這些。當您將控制元件粘貼到新頁面時,標簽值將跟隨。然后,當您遍歷任何頁面上的控制元件時,使用Select Ctl.tag陳述句來確定如何處理控制元件的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/476457.html
上一篇:如何回圈并從資料庫中選擇
