VB.NET中怎样使用控件组(如:Button控件组,Textbox控件组)?

topcool 2001-12-03 02:19:22
请问各位大侠,在VB.NET(Beta2)中怎样来创建一个控件组,从而在程序中能够使用它?像Button控件、TextBox控件等,小弟在此谢了!
...全文
924 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
topcool 2001-12-04
  • 打赏
  • 举报
回复
请问两位,有没有办法在设计窗体中将这些搞定,我不想用代码,因为我做的这个窗体里面有100多个按钮,将其分为了四组。如果在代码中写的话,不好对其进行定位。请帮帮忙,我先谢放你们了。还有如果你们有什么实例的话,可不可发给我?
E-Mail:xtchenchang@21cn.com
ljdone 2001-12-03
  • 打赏
  • 举报
回复
定义一个数组,用代码写啊
dim Button(10) as System.Windows.Forms.Button()
icyer 2001-12-03
  • 打赏
  • 举报
回复
以下是acptvb(微软全球技术中心 VB技术支持)对此问题的解答。摘录如下:

在VB.NET编程中,表单上的任何控件都是在InitializeComponent函数里实例化某个具体的控件类而生成的。在.NET中,控件数组这一概念还是存在的,但是与VB6中的控件数组概念已经有所区别;在.NET 中的控件数组的概念更接近一般的数组概念。如果您要定义控件数组,只需像定义一般的数组类型那样,并添加对应的初始化代码即可。

以ButtonArray为例说明控件数组在VB.NET中的实现:

1. 您可以自己定义Button数组:

Private button(9) As button

然后在Private Sub InitializeComponent()里初始化:

Dim i, m, n As Integer

For i = 1 To 9

button(i) = New Button()

button(i).Size = _

New Size(40, 40)



m = (i - 1) \ 3

n = (i - 1) Mod 3

button(i).Location = _

New Point(20 + 50 * n, _

50 + 50 * m)

button(i).Text = i

button(i).Show()

Me.Controls.Add(button(i))

AddHandler button(i).Click, _

AddressOf ClickHandler

Next

button(0) = New Button()

button(0).Size = New Size(40, 40)

button(0).Location = _

New Point(70, 200)

button(0).Text = "0"

button(0).Show()

Me.Controls.Add(button(0))

AddHandler button(0).Click, _

AddressOf ClickHandler




AddHandler使得ClickHandler来处理该Button数组的事件触发调用:

Private Sub ClickHandler( _

ByVal sender As System.Object, _

ByVal e As System.EventArgs)

txtNumber.Text &= sender.Text

End Sub

从而可以实现VB中控件数组的功能。



当然,您也可以直接添加ButtonArray控件,(Friend WithEvents ButtonArray1 As Microsoft.VisualBasic.Compatibility.VB6.ButtonArray),但是不推荐这样做。Microsoft.VisualBasic.Compatibility类名空间主要在Visual Basic6.0向Visual Basic.NET的升级工具中使用。如果您在Visual Basic.NET中做新的开发,推荐您使用上面提到的第一种方法。
icyer 2001-12-03
  • 打赏
  • 举报
回复
在“自定义工具箱”中有ButtonArray,TextArray等控件。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧