重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先,你已经完成的步骤是:
创新互联是一家专业提供曹县企业网站建设,专注与网站设计制作、成都网站设计、H5场景定制、小程序制作等业务。10年已为曹县众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
1.新建一个用户控件[注意,用户控件(UserControl)不是自定义控件(CustomControl)]
2.给用户控件起个名字(我在此处起名叫 RadioList)
3.在用户控件上画一个 GroupBox,命名为 RadioGroup,
并将其 Dock 属性设置为 Fill
然后,你需要做的是动态增减控件。
如果你以前用过 VB 6,你可能会想到控件数组,
但在此处,你可以直接增删控件。
具体实现如下:
4.在 GroupBox 里画一个 FlowLayoutPanel,命名为 RadioPanel,
将其 AutoScroll 属性设置为 True,即自动显示滚动条,
并设置其 FlowDirection 属性(例如设置为 TopDown)
这样就省去了手动调整 RadioButton 位置的麻烦
5.实现选项的动态增减(以下只是我的思路,你可以发挥一下)
(十分简洁,注释除外):
''' summary
''' 创建一个新的 RadioButton。
''' /summary
Private Function CreateRadio() As RadioButton
Dim NewRadio As New RadioButton
components.Add(NewRadio)
'components 字段由控件设计器自动创建,
'此代码目的是使控件在销毁(Dispose)时能自动销毁 RadioButton
'详情参见 RadioList.Designer.vb
NewRadio.Parent = RadioPanel
'设置容器
AddHandler NewRadio.CheckedChanged, AddressOf RadioButtons_CheckedChanged
'设置事件处理程序
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)
'在此处设置选中项的属性,通过 sender 来确定不同的 OptionButton
'你可以通过将 OptionButton 放在一个列表,
'如 List(Of OptionButton) 中来像数组一样维护选项的次序
'注意,此处需要判断 sender 的 Checked 属性是否为 True
'因为 Changed 是“改变”,而不是“选中”
'例如:
If DirectCast(sender, RadioButton).Checked Then
SelectedIndex = ...
End If
End Sub
如果你能确保你的label空间名称是以label开头,并且后面是数字的话,可以通过Sender.Name的方式来获取控件名称,再用Substring来截取后面的数字。
Private Sub Label1_MouseEnter(sender As Object, e As EventArgs) Handles Label1.MouseEnter, Label2.MouseEnter
'sender.name就是用来获取当前触发事件的控件的名称
Dim n As Integer
n = Int(sender.name.ToString.Substring(5))
Call Menter(n)
End Sub
你说的应该是控件数组。
举个例子:比如:我们要在窗体上添加5个标签Label。
先添加一个Label1,然后复制粘贴,提示:已经有一个控件‘Label1’。创建一个控件数组吗?这里很关键,单击是!会发现控件变为Label1(0),Label1(1)。
同样方法,制作另外三个控件,也就是直接粘贴3次即可。
Private Sub Form_Click()
Dim i As Integer
For i = 0 To 4
Label1(i).Caption = i
Next
End Sub
现在就可以使用上面的语句把0到4赋值给这个控件数组了。
还有一种方法就是修改名称,把控件名称修改为同一个名称,系统自动创建控件数组。
如果控件数组不存在,会出现上面提示:已经有一个控件‘Label1’。创建一个控件数组吗?这里很关键,单击是!完成自动创建控件数组。