VB.NET中如何动态创建控件

a80008a 2011-01-05 11:03:03
比如我想在Form1窗口上建5个Button1,然后再逐一删除,希望给个代码做参考。谢谢,还有个小问题就是如果在生成的程序中,可以手动随便托动Button1按钮位置。
...全文
360 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
okv00 2013-02-21
  • 打赏
  • 举报
回复
Dim ct As Control For Each ct In me.Controls If TypeOf ct Is TextBox Then If ct.Name = ID Then me.Controls.Remove(ct) '删除按键 ct.Dispose() '销毁 End If End If Next
youkiss_674 2011-06-09
  • 打赏
  • 举报
回复
想看看结果
wuyq11 2011-01-05
  • 打赏
  • 举报
回复
Sub AddButton(ByVal sender As Object, ByVal e As System.EventArgs)
Dim NewButton As New Button
Static Dim ButtonID As Integer = 0
ButtonID += 1
With NewButton
.Location = New Point(10, ButtonID * 40) 'New Point(Form1.Label1.Text, Form1.Label2.Text)

.Size = New System.Drawing.Size(79, 29)
.TabIndex = 0
.UseVisualStyleBackColor = True
.Name = "Button" & ButtonID 'TextBox1.Text
.Text = "Button" & ButtonID 'TextBox1.Text
'AddHandler .MouseDown, AddressOf _MouseDown '绑定事件处理程序
'AddHandler .MouseMove, AddressOf _MouseMove
'AddHandler .Click, AddressOf _Click '绑定事件处理程序

End With
Me.Controls.Add(NewButton) '添加进from
End Sub
Sub DelButton(ByVal sender As Object, ByVal e As System.EventArgs)
Dim ButtonID As Integer
ButtonID = sender.Tag '获取标识
Dim NowButton As Button
NowButton = ButtonCollection("Button" & ButtonID) '获取button
RemoveHandler NowButton.Click, AddressOf DelButton '移除绑定事件
Me.Controls.Remove(NowButton) '删除按键
NowButton.Dispose() '销毁
End Sub


a80008a 2011-01-05
  • 打赏
  • 举报
回复
在线等呢,一定结
a80008a 2011-01-05
  • 打赏
  • 举报
回复
给个代码就行了,我参考一下,谢谢,二楼的方式,试了下,ARG是什么
jiningyin 2011-01-05
  • 打赏
  • 举报
回复
加我的QQ 25524991,给你远程演示一下
hztltgg 2011-01-05
  • 打赏
  • 举报
回复
结帖率太低,给你一个很不灵光的代码


Public Class Form1

Private Sub AddButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddButton.Click

Dim b As New Button With {.Text = "1号按钮"}
Me.Controls.Add(b)

AddHandler b.MouseMove, Sub(o As Object, arg As MouseEventArgs)
If arg.Button = Windows.Forms.MouseButtons.Left Then
b.Location = arg.Location
End If
End Sub

End Sub

End Class

a80008a 2011-01-05
  • 打赏
  • 举报
回复
呵呵,可以创建按钮了,ButtonCollection这个怎么提示出错
摘要 ActiveReports for .NET 是最畅销的ActiveReports 引擎和报表浏览器。其功能和灵活性与ActiveReports 2.0相同,并提供了完整的.NET环境下的代码集成。使用.NET 版的ActiveReports,你可以采用Visual Studio.NET 编辑器,用C#或Visual Basic .NET 语言编写报表代码,其包含了ASP.NET 服务器控件,帮助您安装web客户端浏览器以及WinForms浏览器控件,以提供单页浏览,多页浏览,文本搜索,内容列表和定制工具栏等功能。 组件列表 技术特性 支持ASP.NET-ActiveReports在WebForms应用程序通过使用ASP.NET 服务器控件来使用。这个控件支持分布式web报表,可使用HTML,ActiveX,.NET 和PDF浏览器。 完全代码集成-使用Microsoft Visual Studio.NET编辑器用C#或VB.NET编写报表的代码,非常灵活。 报表向导-报表向导帮助您开始创建使用集成设计器来定制的简单报表。 图片文件名 运用优势 最终用户报表设计器 终端用户设计器提供了向应用程序添加报表设计器的功能,同时提供了最终用户报表编辑功能。 控件的方法和属性能方便的存储和加载报表布局,监测和控制设计环境,并可根据终端用户的需要定制外观。 与ASP.NET集成 Web浏览器控件为您提供了web上的快速浏览ActiveReports 以及打印功能,并具有ActiveX,Acrobat Reader HTML,EXCEL浏览器类型的属性。 RPX 文件HTTP处理器为您提供了在web服务器上轻松的放置报表的功能,并可使您的Internet用户采用HTML 或PDF进行浏览,而不需要编写任何代码。 编译的报表HTTP处理器提供了直接访问服务器的程序集编译的ActiveReports,而不需要编写任何ASPX页面。 发布-容易部署 报表引擎是一个简单处理强名称程序集。程序集可以使用XCopy发布或放置于程序集全局存储器(GAC)。 专业版包括HTTP 处理器和服务器并行web控件,用于ASP.NET 报表。 设计器-容易学习 与.NET 环境完全集成 熟悉的用户界面 支持C#和Visual Basic.NET 报表将作为您应用程序的一部分进行编译,以加快处理速度,增强安全性,并且用户可以有选择地分别发布。 初学者报表向导和Microsoft Access 报表导入向导 设计器拥有第三方控件(图表控件,图像控件等)。 数据访问-容易连接 具有OLEDB和SqlClient报表数据源 具有灵活的xml数据源 绑定到Dataset,DataView,DataTable和任何IListSource 控件 数据源属性能在运行时修改,生成ad hoc(动态)报表 灵活的非绑定数据 预览和输出-容易显示 支持C#代码 小型部署程序集,适用于Internet 上使用 TOC/Bookmarks 超链接 输出过滤文件格式为RTF、PDF、EXCEL、HTML、TIFF 和文本文件。 开发环境 VB .NET/C# .NET/ASP.NET 支持平台 Windows2000/XP 电话 021-58549800 Email: tools@sh.grapecity.com http://www.grapecity.com/china

16,554

社区成员

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

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