VB2010动态添加多个控件
- 格式:docx
- 大小:13.65 KB
- 文档页数:1
Vb数据控件的使用使用ADO Data控件ADO Data控件使用MicrosoftActiveX数据对象(ADO)来快速建立数据绑定的控件和数据提供者之间的连接。
数据绑定控件是任何具有“数据源”属性的控件。
数据提供者可以是任何符合OLE DB规范的数据源。
使用Visual Basic的类模块也可以很方便地创建子集的数据提供者。
尽管可以在应用程序中直接使用ActiveX数据对象,但ADO Data控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使您可以用最少的代码创建数据库应用程序。
在Visual Basic的“工具箱”中,不少控件都可以作为数据绑定的控件,包括复选框、组合框、图像、标签、列表框、图片框以及文本框控件等。
此外,Visual Basic还包括了若干种数据绑定的ActiveX控件,诸如DataGrid、DataCombo、Chart以及 DataList控件等。
用户也可以创建自己的数据绑定的ActiveX控件,或从其他开发商购买控件。
Visual Basic以前的版本提供了内在的 Data 控件和 Remote Data 控件(RDC) 来进行数据访问。
这两种控件仍包括在 Visual Basic中,以提供向后兼容。
不过,因为 ADO 的适应性更广,因此建议用户使用ADO Data控件来创建新的数据库应用程序。
详细信息关于数据绑定的控件的完整列表位于“绑定到ADO Data控件的控件”中。
要了解如何使用这些内在的Data 控件或 Remote Data 控件,请参阅“使用 Data 控件”或“使用 Remote Data 控件”。
关于创建数据提供者的详细信息,请参阅“创建数据识别类”。
可能的用法连接一个本地数据库或远程数据库。
打开一个指定的数据库表,或定义一个基于结构化查询语言 (SQL) 的查询、或存储过程、或该数据库中的表的视图的记录集合。
将数据字段的数值传递给数据绑定的控件,可以在这些控件中显示或更改这些数值。
VB动态添加控件并对其进行拖放操作改变位置用Controls.Add添加控件Dim WithEvents mypic As PictureBoxPrivate Sub Command1_Click()Set mypic = Controls.Add("VB.PictureBox", "mypic")mypic.Left = 50mypic.Top = 50mypic.Visible = TrueEnd Sub至于拖放操作,在程序中设置好mypic控件的有关属性后,处理mypic的有关事件即可注意:如果是控件数组的话,建议采用:load 控件数组名(索引) 的方法添加控件'可先手工画一个控件,Visable设置为False,Index设置为0'若需要多个就用load object(index)来加载,并把它们的visable设置为true;不需要多个就真接把原有的那个的visable设成显示就行了。
Private Declare Function ReleaseCapture Lib "user32" () As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _ByVal hwnd As Long, ByVal wMsg As Long, _ByVal wParam As Long, lParam As Any) As LongPrivate Sub Command1_MouseDown(Index As Integer, Button As Integer, _Shift As Integer, X As Single, Y As Single)If Button = 1 ThenReleaseCapture '移动控件SendMessage Command1(Index).hwnd, &HA1, 2, 0&End IfEnd SubPrivate Sub Form_Click()On Error GoTo endsubFor i = 1 To 5Load Command1(i) '生成控件Command1(i).Top = Command1(i - 1).TopCommand1(i).Left = Command1(i - 1).Left + Command1(i -1).WidthCommand1(i).Visible = TrueNextExit SubEnd Sub‘例如:添加一个commandbuttonPrivate Sub Form_Load()Form1.Controls.Add "mandButton", "cmdOk", Picture1 With Form1!cmdOk.Visible = True.Width = 500.Caption = "确认(&Y)"End WithEnd Sub‘删除控件Form1.Controls.Remove "ctl1" ctl1为控件名。
VB中动态创建控件VB中动态创建控件创建数据驱动窗体所谓数据驱动窗体就是根据所请求的数据的不同生成相应的窗体。
举例来讲,假设你现在有一个数据库,其中有些字段必须根据登录者的身份加以显示,授权级别高的用户可以浏览并修改这些字段的内容;授权级别一般的用户只能浏览这些字段中的数据;授权级别低的用户则不能浏览这些字段中的内容。
要做到这一点就得利用VB动态添加控件的功能。
动态创建控件无论你想要创建何种类型的数据驱动窗体,你必须知道如何在运行时动态地创建控件。
你可以通过控件数组做到这一点,但VB6的Controls集合所提供的Add方法,功能更强大,灵活性更高。
使用该方法,你不需要在设计时将控件的实例放在窗体上。
实际上,用Add 方法你甚至可以创建程序在编译时根本不存在的控件。
这种方法的用法也很简单:‘ 声明一个窗体级的变量Dim WithEvents txtTotal As TextBoxSub CreateTextbox()‘ 创建新的Textbox控件Set txtTotal = Controls.Add("VB.TextBox", "txtTotal")‘ 将控件移动到你所需要的地方txtTotal.Move 1000, 800, 1200, 300‘ 创建时,所有的控件都是不可见的txtTotal.Visible = TrueEnd Sub请注意Add方法的第二个参数:分配给控件的名称。
从代码可读性出发,这个名称一般都与变量名相同。
你可以用这个名称从Controls集合中获取相应的控件或移除该控件。
例如:Controls.Remove "txtTotal"在变量声明时加上WithEvents关键字,即使在设计时窗体不存在该控件,你也可以为该控件的事件编写代码。
上面所讲的方法只适合解决VB内置的控件。
例如,当你要添加一个TreeView控件时,VB会要求你证明你已经得到了合法的授权来创建该控件的实例。
VB怎样动态加载ActiveX控件熟悉VB的朋友对使用ActiveX控件一定不会陌生,众多控件极大地方便了编程,但唯一的缺陷是不能动态加载控件,必须在设计时通过引用,将控件放置在窗体上。
VB6.0已能够解决该问题,只是帮助中没有明确说明,并且没有描述到一些关键功能,由于以前的版本中可以动态创建进程外服务:如果对象是外部可创建的,可在Set 语句中用New 关键字、CreateObject 或GetObject 从部件外面将对象引用赋予变量。
如果对象是从属对象,则需使用高层对象的方法,在Set 语句中指定一个对象引用:Dim xlApp1 As Excel.ApplicationSet xlApp1 = New Excel.Application或Dim xlApp As Object '定义存放引用对象的变量。
Set xlApp = CreateObject("excel.application")xlApp.Visible = True这些语法很容易造成误导,以为动态加载ActiveX控件也是此方法,可能有朋友也象我一样利用CreateObject尝试了无数次,却无功而返,不知微软公司是出于何种考虑,动态加载ActiveX控件是扩展控件集合的方式实现,通过实际摸索,终于就如何实现动态ActiveX控件找出了一条切实可行的方法,下面以一个具体的实例来详细说明。
一、ActiveX控件ActiveX 控件是Visual Basic 工具箱的扩充部分。
使用ActiveX 控件的方法与使用其它标准内装的控件,如CheckBox 控件,完全一样。
在程序中加入ActiveX 控件后,它将成为开发和运行环境的一部分,并为应用程序提供新的功能。
ActiveX 部件通过客户端/服务器关系与应用程序—及与部件相互之间—交互作用。
客户端是使用部件功能的应用程序代码或部件。
服务器是部件及其关联的对象。
VB 动态添加删除控件汇总1. 概述在使用Visual Basic 进行程序设计的过程中,如果能在运行时刻动态地创建和删除控件,可以极大地丰富界面的处理和变化。
本人在设计网络监控系统时,需要在原理图与实物示意图间切换。
切换的过程采用本文介绍控件的动态创建和删除来实现,有效地节省了系统资源,同时也有利于简化界面的维护。
下面将就Visual Basic 6.0 中的控件在运行时刻的创建和删除的两种方法——控件数组和控件集合作详细的阐述。
2. 基于控件数组的动态控件的创建与删除vb 中的控件数组实际上也是一种数组,其中的每个控件具有相同的Name 属性,但具有不同的Index 属性,在这里Name 属性类似于数组的名字,而Index 属性类似于数组的下标同时,控件数组也支持普通VBA 数组的LBound 、UBound 和Count 方法,控件数组中的控件可以共享一个事件过程,便于代码的编写和集中处理,这正是使用控件数组的最大的理由。
但是控件数组与普通的数组并非完全一样,它不需要定义大小,只有这样我们才可以动态的扩展[kuo zhan]它。
下面给出利用Load 命令动态添加控件和Unload 命令动态删除控件的一般方法:(1)首先在窗体上放置一个TextBox ,其Name 属性设置为Text1 ,Index 属性设置为0 ,这样我们就创建了一个TextBox 控件数组,其中有一个成员。
(2)在窗体上放置一个命令按钮Command1 ,在其Click 事件中添加如下的代码:LoadText1(1)Text1(1).left=0Text1(1).visible=true(3)在窗体上放置一个命令按钮Command2 ,在其Click 事件中添加如下的代码:Unload Text1(1)(4)运行。
单击命令按钮Command1 ,窗体上会出现一个新的文本框;单击命令按钮Command2 ,窗体上刚出现的新的文本框就被删除。
vb中如何动态添加删除控件用Controls.Remove(控件) 动态删除控件。
注意:在VB中只能动态删除那些动态添加的控件;不允许删除在窗体设计器上布置的控件!示例如下:(1)创建一个VB工程(2)在Form1上布置两个Command(3)窗体代码Option Explicit' 声明要被动态添加/删除的控件Dim x As Label'-----------------------------' 动态添加一个Label控件'-----------------------------Private Sub Command1_Click()If x Is Nothing ThenSet x = Controls.Add("bel", "label1")x.Move 150, 150x.AutoSize = Truex.Caption = "这个是动态添加的标签" x.Visible = TrueEnd IfEnd Sub'-----------------' 动态删除控件'-----------------Private Sub Command2_Click()If x Is Nothing Then Exit Sub Controls.Remove xSet x = NothingEnd SubPrivate Sub Form_Load() Command1.Caption = "添加控件" Command2.Caption = "删除控件" End Sub(4)运行窗体启动点击“添加控件”按钮点击“删除控件”按钮。
教程1:创建图片查看器Visual Studio 2010其他版本25(共34)对本文的评价是有帮助- 评价此主题在本教程中,您将生成一个从文件加载图片并将其显示在窗口中的程序。
您将学习如何拖动控件(如窗体上的按钮和图片框)、设置控件属性,以及如何使用容器来平滑地调整窗体的大小。
您还将开始编写代码。
您将学习如何:∙创建新项目。
∙测试(调试)应用程序。
∙向窗体中添加基本控件(如复选框和按钮)。
∙使用布局在窗体上定位控件。
∙向窗体中添加“打开文件”和“颜色”对话框。
∙使用IntelliSense 和代码段编写代码。
∙编写事件处理程序方法。
当您完成时,程序将类似下图所示。
在本教程中创建的图片说明步骤1:创建Windows 窗体应用程序项目创建Windows 窗体应用程序项目1.在“文件”菜单上,单击“新建项目”。
2.如果没有使用Visual Studio 学习版,您需要先选择一种语言。
从“安装的模板”列表中选择“C#”或“VisualBasic”。
3.单击“Windows 窗体应用程序”图标,输入“PictureViewer”作为名称,然后单击“确定”。
Visual Studio 将自动为您创建解决方案。
4.在“文件”菜单上,单击“全部保存”;或者在工具栏上单击“全部保存”按钮,此按钮如下所示。
“全部保存”工具栏按钮说明5.确保项目保存在“我的文档”文件夹下的某个文件夹中。
6.确认选中“创建解决方案的目录”复选框。
7.单击“保存”。
说明您可能已经注意到“解决方案”和“项目”这两个词具有不同的含义,本教程稍后将对此进行解释。
下图显示IDE 窗口应具有的外观。
IDE 窗口8.如果您的屏幕与上面的图片不太一样,请在“窗口”菜单上,单击“重置窗口布局”。
如果缺少任何窗口,请在“视图”菜单上,单击“属性窗口”或“解决方案资源管理器”。
如果有多余的窗口打开,请单击右上角的“关闭”(x) 按钮。
9.查看图片。
从左上角开始沿逆时针方向,图片将依次显示:∙主窗口您可在此处执行大部分的工作。
vb的按钮控件发布时间:2007-05-05 来源:未知作者:未知使用CommandButton控件命令按钮控件被用来启动、中断或结束一个进程。
单击它时将调用已写入Click 事件过程中的命令。
大多数Visual Basic应用程序中都有命令按钮,用户可以单击按钮执行操作。
单击时,按钮不仅能执行相应的操作,而且看起来就象是被按下和松开一样,因此有时称其为下压按钮。
详细信息关于CommandButton 控件的简单示例,请参阅第三章,“窗体、控件和菜单”中的“单击按钮执行操作”。
向窗体添加命令按钮在应用程序中很可能要使用一个或多个命令按钮。
就象在其它控件绘制按钮那样,在窗体上添加命令按钮。
可用鼠标调整命令按钮的大小,也可通过设置Height 和Width 属性进行调整。
设置标题可用Caption 属性改变命令按钮上显示的文本。
设计时,可在控件的“属性”窗口中设置此属性。
在设计时设置Caption 属性后将动态更新按钮文本。
Caption 属性最多包含255 个字符。
若标题超过了命令按钮的宽度,则会折到下一行。
但是,如果控件无法容纳其全部长度,则标题会被剪切。
可以通过设置Font 属性改变在命令按钮上显示的字体。
创建键盘快捷方式可通过Caption 属性创建命令按钮的访问键快捷方式,为此,只需在作为访问键的字母前添加一个连字符(&)。
例如,要为标题"Print" 创建访问键,应在字母"P" 前添加连字符,于是得到"&Print"。
运行时,字母"P" 将带下划线,同时按ALT+P 键就可选定命令按钮。
注意如果不创建访问键,而又要使标题中包含连字符但不创建访问键,应添加两个连字符(&&)。
这样一来,在标题中就只显示一个连字符而不显示下划线。
指定Default 和Cancel 属性在每个窗体上部可选择一个命令按钮作为缺省的命令按钮,也就是说,不管窗体上的哪个控件有焦点,只要用户按ENTER 键,就已单击此缺省按钮。
在VB.NET中实现动态增加控件作者:李清霞冯向科邓莹来源:《消费导刊·理论版》2007年第06期[摘要]当用户对记录表进行排序时,记录表的长度往往是不固定的;如果每一个TextBox 控件显示一条记录,则这样的TextBox的数目也是不确定的。
对于Windows窗体中的绝大多数控件来说,它们是在系统绘制窗体的同时一起被绘制了,因此它们不能被动态增加。
通过手工增加控件的方式,我们可以在窗体的任何位置添加任意大小、任意数量的任意控件,从而实现动态增加控件的效果。
[关键词]控件窗体类对象继承属性一、前言对于Windows窗体中的绝大多数控件来说,它们是随着窗体一起出现的。
例如:当Windows XP进入使用界面后,“开始”按钮就出现在整个屏幕的左下角,除非用户重新设置,否则每次都是一个按钮出现在屏幕左下角。
但也有这样的情况:在实现和用户交互工作时,系统最初可能并不清楚整个屏幕或窗体中究竟有多少个控件,具体数目取决于用户的输入值。
在这种情况下,把控件和窗体一起绘出是不可能的,这就要求程序员先绘好窗体,然后根据和用户交互工作的结果,实现在窗体中动态地绘出所需的各种控件。
一般说来,要在窗体中增加一个控件,主要完成三个方面的工作:控件的声明、控件的装载和控件的显示。
控件的声明包括用继承的方法声明控件,创建控件的实例对象等;控件的装载工作指添加控件作为母窗体的控件对象;控件的显示工作包括控制控件在窗体出现的位置、大小、显示文本和索引号等相关内容。
下面分别就三个方面进行介绍,(一)控件的声明在Microsoft Visual Basic .NET环境中,类的概念是一个非常重要的内容,在其上运行的类模块、窗体、各种控件对象等都作为一个类来处理,它们的区别已经不存在了,几乎所有的程序都是由类组成的,它们被按照不同的功能分在不同的功能类库里。
在这一点上,它和Visual Basic 6.0及其前期版本有很大区别。