新聞中心
vb.net自定義控件問題
首先,你已經(jīng)完成的步驟是:
創(chuàng)新互聯(lián)是一家專業(yè)提供曹縣企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、H5場景定制、小程序制作等業(yè)務(wù)。10年已為曹縣眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
1.新建一個用戶控件[注意,用戶控件(UserControl)不是自定義控件(CustomControl)]
2.給用戶控件起個名字(我在此處起名叫 RadioList)
3.在用戶控件上畫一個 GroupBox,命名為 RadioGroup,
并將其 Dock 屬性設(shè)置為 Fill
然后,你需要做的是動態(tài)增減控件。
如果你以前用過 VB 6,你可能會想到控件數(shù)組,
但在此處,你可以直接增刪控件。
具體實現(xiàn)如下:
4.在 GroupBox 里畫一個 FlowLayoutPanel,命名為 RadioPanel,
將其 AutoScroll 屬性設(shè)置為 True,即自動顯示滾動條,
并設(shè)置其 FlowDirection 屬性(例如設(shè)置為 TopDown)
這樣就省去了手動調(diào)整 RadioButton 位置的麻煩
5.實現(xiàn)選項的動態(tài)增減(以下只是我的思路,你可以發(fā)揮一下)
(十分簡潔,注釋除外):
''' summary
''' 創(chuàng)建一個新的 RadioButton。
''' /summary
Private Function CreateRadio() As RadioButton
Dim NewRadio As New RadioButton
components.Add(NewRadio)
'components 字段由控件設(shè)計器自動創(chuàng)建,
'此代碼目的是使控件在銷毀(Dispose)時能自動銷毀 RadioButton
'詳情參見 RadioList.Designer.vb
NewRadio.Parent = RadioPanel
'設(shè)置容器
AddHandler NewRadio.CheckedChanged, AddressOf RadioButtons_CheckedChanged
'設(shè)置事件處理程序
Return NewRadio
End Function
''' summary
''' 移除已存在的 RadioButton。
''' /summary
Private Sub RemoveRadio(ByVal dest As RadioButton)
components.Remove(dest)
dest.Dispose()
End Sub
'無中生有的 RadioButton 的事件處理程序
Private Sub RadioButtons_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
'在此處設(shè)置選中項的屬性,通過 sender 來確定不同的 OptionButton
'你可以通過將 OptionButton 放在一個列表,
'如 List(Of OptionButton) 中來像數(shù)組一樣維護選項的次序
'注意,此處需要判斷 sender 的 Checked 屬性是否為 True
'因為 Changed 是“改變”,而不是“選中”
'例如:
If DirectCast(sender, RadioButton).Checked Then
SelectedIndex = ...
End If
End Sub
VB.NET 怎么獲取控件后面的數(shù)字
如果你能確保你的label空間名稱是以label開頭,并且后面是數(shù)字的話,可以通過Sender.Name的方式來獲取控件名稱,再用Substring來截取后面的數(shù)字。
Private Sub Label1_MouseEnter(sender As Object, e As EventArgs) Handles Label1.MouseEnter, Label2.MouseEnter
'sender.name就是用來獲取當(dāng)前觸發(fā)事件的控件的名稱
Dim n As Integer
n = Int(sender.name.ToString.Substring(5))
Call Menter(n)
End Sub
vb如何實現(xiàn)控件序號變成變量比如 dim n% private sub command1_click() for
你說的應(yīng)該是控件數(shù)組。
舉個例子:比如:我們要在窗體上添加5個標(biāo)簽Label。
先添加一個Label1,然后復(fù)制粘貼,提示:已經(jīng)有一個控件‘Label1’。創(chuàng)建一個控件數(shù)組嗎?這里很關(guān)鍵,單擊是!會發(fā)現(xiàn)控件變?yōu)長abel1(0),Label1(1)。
同樣方法,制作另外三個控件,也就是直接粘貼3次即可。
Private?Sub?Form_Click()
Dim?i?As?Integer
For?i?=?0?To?4
Label1(i).Caption?=?i
Next
End?Sub
現(xiàn)在就可以使用上面的語句把0到4賦值給這個控件數(shù)組了。
還有一種方法就是修改名稱,把控件名稱修改為同一個名稱,系統(tǒng)自動創(chuàng)建控件數(shù)組。
如果控件數(shù)組不存在,會出現(xiàn)上面提示:已經(jīng)有一個控件‘Label1’。創(chuàng)建一個控件數(shù)組嗎?這里很關(guān)鍵,單擊是!完成自動創(chuàng)建控件數(shù)組。
網(wǎng)頁標(biāo)題:vb.net控件序號 vb 控件
路徑分享:http://www.ef60e0e.cn/article/doehegj.html