自定义控件vb.net 自定义控件一定要独立项目吗

vb.net自定义控件问题

首先,你已经完成的步骤是:

成都创新互联是一家专注于网站设计制作、成都网站设计与策划设计,凤台网站建设哪家好?成都创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:凤台等地区。凤台做网站价格咨询:18982081108

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

vb.net自定义控件

mytest1是继承自什么类,通常应该继承自UerControl,虽然你这样也能编译通过,但实际上没有任何意义。所以你先改了再说。继承之后,编译,工具箱就会多这么个控件,拖动到Form1上,这样按钮下就不用再new了。然后你再来问。

vb.net 自定义控件 GROUPBOX 容器

缓存刷新了,你需要在缓存区建立一个Image对象来存放所有绘制的Graphics对象,再将Image对象显示在GroupBox容器中即可。


本文题目:自定义控件vb.net 自定义控件一定要独立项目吗
本文地址:http://scyanting.com/article/dohsceo.html