似有控件遍歷窗體控件集合,或在控件集合中查詢?cè)摽丶?,公用控件直接名?/p>
創(chuàng)新互聯(lián)建站是專業(yè)的和林格爾網(wǎng)站建設(shè)公司,和林格爾接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行和林格爾網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
Private WithEvents NewTextBox As TextBox
'通過使用WithEvents關(guān)鍵字聲明一個(gè)對(duì)象變量為新的命令按鈕
Private Sub Command1_Click()
If NewTextBox Is Nothing Then
Set NewTextBox = Controls.Add("VB.TextBox", "cmdNew", Form1)
NewTextBox.Move 200, 200
NewTextBox.Width = Form1.Width - 450
NewTextBox.Height = Form1.Height - 1400
NewTextBox.Visible = True
End If
End Sub
Private Sub Command2_Click()
If NewTextBox Is Nothing Then
Exit Sub
Else
Controls.Remove NewTextBox
Set NewTextBox = Nothing
End If
End Sub
你還要把過程與控件事件綁定
AddHandler 控件.事件名,addressof 事件過程
RemoveHandler 這個(gè)是取消綁定
沒發(fā)現(xiàn)自動(dòng)生存的事件過程后面還有一個(gè)Hander button1.Click之類的,這就是所謂事件句柄。反而跟過程名沒關(guān)系,改成阿貓阿狗也可以。
例外也可以像 Private WithEvents obj as ControlClass 這么聲明控件變量,估計(jì)像vb6那樣會(huì)在下拉列表中列出事件系列。
哎呀,說了半天跑題了。 ff不存在嘛多半不是它的作用域范圍內(nèi),應(yīng)該把ff變量定義在類中,而不是類中的某個(gè)過程中。
最好把代碼添多一點(diǎn),把ff部分也添出來看看。
布局方面,建議你用FlowLayoutPanel,不用手工控制控件位置了。假設(shè)有一個(gè)FlowLayoutPanel1。
先在窗體類中建一個(gè)控件的集合:
Dim
TextBoxes
As
New
List(Of
TextBox)
在button1的
Click事件
中寫:
For
i
=
1
To
5
'5是每次加入的數(shù)量
Dim
newTextBox
As
New
TextBox()
'newTextBox.Size
=
New
Size(100,20)
'
TextBoxes.Add(newTextBox)
'加入我們的集合中
FlowLayoutPanel1.Controls.Add(newTextBox)
'加到窗體的FlowLayoutPanel中去
Next
i
然后button2的Click事件中:
For
Each
itemTextBox
As
TextBox
In
TextBoxes
'這里的itemTextBox.Text就代表每個(gè)TextBox里的文本
'如果你需要清空,調(diào)用TextBoxes.Clear()和FlowLayoutPanel.Controls.Clear()即可
Next