搜档网
当前位置:搜档网 › VBA窗体在运行的时候动态添加控件的代码

VBA窗体在运行的时候动态添加控件的代码

VBA窗体在运行的时候动态添加控件的代码

????ò??¢?ˉì?ìí?óCommandButton?üá?°′?¥

????Dim mc As CommandButton

????Static k

????k = k + 1

????Set mc = Me.Controls.Add(https://www.sodocs.net/doc/3f2836114.html,mandbutton.1)

????mc.Caption = k

????mc.Top = Me.Controls(k - 1).Top + Me.Controls(k - 1).Height ????Me.Controls.Remove Commandbutton1

???????¢?ˉì?ìí?ó??±??ò

????Set myText = Controls.Add( VB.TextBox , myTextBox )

????With myText

????.Visible = True

????.Text = ?aê??ó??μ??ˉì?????

????.Width = 3200

????End With

ExcelVBA用户窗体编程基础

ExcelVBA用户窗体编程基础 概述 当使用MsgBox函数和InputBox函数不能满足与用户交互的需求时,您能使用用户窗体来自定义对话框。您能使用用户窗体来显示所输入的数据,您甚至能使用用户窗体创建一个完整的用户界面,而不会让用户接触到电子表格本身。 您在Windows对话框中所看到的大多数控件都能在用户窗体中实现——命令按钮,选项按钮,复选框,文本框,组合框——加上一些其它不常用的控件像图像,日历,等等。 本文介绍了用户窗体的基本概念,并介绍了使用用户窗体的常用技术。其中,也讲解了一些最通用的思路。在文章中列举了一个包含所有过程的完整的示例文件,以及实现这些过程的代码,让您能在实践中看到所有工作的基本原理和方法。 本文包含以下内容: ● 基本的用户窗体操作 ● 用户窗体和控件的属性 ● 一个用户窗体的生命周期 ● 用户窗体和控件的事件 ● 问题1:如何在用户窗体间传递数据? ● 问题2:如何找到我的窗体中的某类控件? ● 问题3:如何获取数据到列表框中? ● 问题4:如何为循环创建进度条? ● 一个完整的用户窗体综合示例 基本的用户窗体操作 ?创建一个窗体。打开VBE编辑器(选择菜单“工具——宏——Visual Basic编辑器”或按Alt+F11组合键),选择菜单“插入——用户窗体”,或者在工程窗口中单击右键,从弹出的快捷菜单中选择“插入——用户窗体”,即可创建一个窗体。 ?添加控件。当你创建了一个窗体后,将会显示一个名为“控件工具箱”的浮动工具箱(如果没有该工具箱的话,您可以从视图菜单中找到它),其中显示了最普遍的控件类型。单击您想要的控件,拖动它到您的用户窗体中。 ?更多的控件。有一些更多的可用的控件,您可以在控件工具箱中单击右键,从中选择“附加控件”,您能添加日历、电子表

第6章 控件与用户窗体代码【超实用VBA】

第6章控件与用户窗体 范例67 文本框只能输入数值 Private Sub TextBox1_KeyPress(ByVal KeyANSI As MSForms.ReturnInteger) With TextBox1 Select Case KeyANSI Case Asc("0") To Asc("9") Case Asc("-") If InStr(1, .Text, "-") > 0 Or .SelStart > 0 Then KeyANSI = 0 End If Case Asc(".") If InStr(1, .Text, ".") > 0 Then KeyANSI = 0 Case Else KeyANSI = 0 End Select End With End Sub Private Sub TextBox1_Change() Dim i As Integer Dim Str As String With TextBox1 For i = 1 To Len(.Text) Str = Mid(.Text, i, 1) Select Case Str Case ".", "-", "0" To "9" Case Else .Text = Replace(.Text, Str, "") End Select Next End With End Sub

范例68 限制文本框的输入长度 Private Sub TextBox1_Change() TextBox1.MaxLength = 6 End Sub 范例69 验证文本框输入的数据 Private Sub CommandButton1_Click() With TextBox1 If (Len(Trim(.Text))) = 15 Or (Len(Trim(.Text))) = 18 Then Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = .Text Else MsgBox "身份证号码错误,请重新输入!" End If .Text = "" .SetFocus End With End Sub 范例70 文本框回车自动输入 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim r As Integer r = Cells(Rows.Count, 1).End(xlUp).Row With TextBox1 If Len(Trim(.Text)) > 0 And KeyCode = vbKeyReturn Then Cells(r + 1, 1) = .Text .Text = "" End If End With End Sub 范例71 文本框的自动换行 Private Sub UserForm_Initialize() With TextBox1 .WordWrap = True

GUI实践-为窗口添加菜单条和工具条

实践——为窗口添加菜单条和工具条 步骤1:新建工程,以自己的学号命名:如。在建好的java project里,新建可视化类mainFrame,继承自swing包中的JFrame类,窗口自带内容面板名称为“jContentPane”,将窗口的标题改为“主窗体”,修改窗口的属性,将“visiable”属性改为“true”; 步骤2:修改jContentPane,将其“layout”属性改为“null”; 步骤3:下面开始制作菜单,打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单条,在“swing menus”页中选中JMenuBar,单击拖动到“mainFrame”,将其命名为“jJMenuBar”; 注意:也可以在“java beans”页面,选中“this-“主窗体”,再进行拖动。 步骤4:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单,在“swing menus”页中选中JMenu,单击拖动到“jJMenuBar”,将其命名为“jMenu1”;修改“jMenu1”的“text”属性为“文件”。 步骤5:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单项,在“swing menus”页中选中JMenuItem,单击拖动到“jMenu1”,将其命名为“jMenuItem1”;修改“jMenuItem1”的“text”属性为“新建”。 步骤6:重复步骤5的操作,新建菜单项“jMenuItem2”;修改“jMenuItem2”的“text”属性为“保存”。 步骤7:重复步骤5的操作,新建菜单项“jMenuItem3”;修改“jMenuItem3”的“text”属性为“退出”。 步骤8:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加工具栏,在“swing menus”页中选中JToolBar,单击拖动到“jContentPane”,将其命名为“jJToolBarBar”;在可视化编辑区合理调整工具条的大小; 步骤9:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加工具栏里面的按钮,在“Swing Components”页中选中JButton,单击拖动到“jJToolBarBar”,将其命名为“jButton1”;修改“jButton1”的“icon”属性,给按钮添加一幅图片;可以从工程目录里添加,也可以从本地硬盘的某个位置添加; 步骤10:重复步骤9,再给工具条添加一个按钮;

15《Windows桌面 窗口菜单》教案

《Windows桌面窗口菜单》教案 课题:第十五课Windows桌面窗口菜单 教学要求: 1、对有关Windows的知识作一总结,使学生在概念上对其有一定的理解,对计算机的认识更加系统化。 2、通过本课的学习,强化计算机的操作能力,进一步理解计算机是人们处理信息的“工具”。 3、Windows操作系统的桌面、图标、任务栏、快捷方式、窗口、菜单等概念,这些概念并不要求学生去记忆,只要求知道它们的外观、功能并能熟练操作即可。 教学重点: 通过本课的学习,强化计算机的操作能力,进一步理解计算机是人们处理信息的“工具”。 教学过程: 一、谈话导入: Windows操作系统是计算机的管家,它管理着计算机的运行。我们使用计算机这一信息处理工具,也要由Windows系统管理。 Windows操作系统为我们提供了“桌面”、“窗口|”、“菜单”“文件夹”等多种管理工具,这些工具与计算机的程序有关,又与人对计算机的操作有关,既与计算机处理信息有关,又与人和计算机的信息有关。今天我们就一起学习Windows 的操作系统。 二、新授: 活动一、试一试:设置桌面背景和屏幕保护程序。 1、什么是桌面背景 桌面背景是用户打开计算机进入Windows操作系统后,所出现的桌面背景颜色及图片。我们可以选择单一的颜色作为桌面的背景,也可以选择BMP、JPG 等格式的文件作为桌面的背景。 2、设置方法: 教师出示下面文字,学生练习操作。

小提示: 设置桌面背景时,右击桌面任意空白处,在弹出的快捷菜单中选择“属性”命令,或单击“开始”按钮,选择“控制面板”命令,在弹出的“控制面板”对话框中双击“显示”图标,在打开的“显示属性”对话框中选择“桌面”选项卡,在“背景”列表框中可选择一幅喜欢的背景图片,也可以单击“浏览”按钮,在本地磁盘或网络中选择其他图片作为桌面背景。在“位置”下拉列表中有居中、平铺和拉伸三种选项,可调整背景图片在桌面上的位置。若想用纯色作为桌面背景,可在“背景”列表中选择“无”选项,在“颜色”下拉列表中选择喜欢的颜色,单击“应用”按钮。 3、练习:学生上机操作。 4、设置屏幕保护 教师演示: 设置屏幕保护时,在“显示属性”对话框中选择“屏幕保护程序”选项卡,在该选项卡的“屏幕保护程序”选项组中的下拉列表中,选择一种屏幕保护程序,即可看到它的显示效果。单击“设置”按钮,可对该屏幕保护程序进行一些设置;单击“预览”按钮,可预览该屏幕保护程序的效果,移动鼠标或敲击键盘即可结束屏幕保护程序;在“等待”文本框中可设置一定的时间并确定,这样如果计算机在这段时间内无操作就会启动屏幕保护程序。 学生操作 活动二、认识图标,任务栏,快捷方式 试一试 1、拖动任务栏到桌面的任何一侧或是顶端,看看桌面有什么变化? 2、鼠标指针移动到任务栏边,变为双箭头形时,拖动,看看有什么变化? 3、右击文档或常用工具,在桌面上创建“快捷方式” 4、练习“最大化,最小化,”打开多个窗口操作。 活动三、拓展知识 P42页:Windows操作系统的菜单 三、课堂小结

使用窗体控件

第2章使用窗体控件 课堂练习:为控件创建事件处理程序 5)传递给这个事件处理程序的第二个参数(e)的目的是什么? 答:参数e包含事件数据。它是一个EventArgs 对象(实际不包含事件数据的基类),或者是一个派生类(像MouseEventArgs)的实例。要查看派生类的完整列表,请在Visual Studio .NET帮助文档中使用短语“EventArgs 类”进行查找,然后点击链接转到“派生类”。 ●为Click 事件创建一个事件处理程序。 3)上面的双击动作为什么创建了一个Click 事件处理程序? 答:当在设计视图中双击一个控件时,IDE会自动为默认事件创建一个事件处理程序。课堂练习:创建和使用ToolBar控件 8)为什么不能向ToolBar 按钮添加图像呢? 答:ToolBar 控件将ImageList 控件作为图像源。使用ToolBar 控件的ImageList 属性指定Toolbar 将从哪个ImageList 控件获取图像。 13)运行应用程序。单击工具栏按钮时有事情发生吗?必须处理什么事件以响应单击ToolBar按钮? 答:ToolBar 的ButtonClick事件用来处理ToolBar按钮的单击。ToolBarButtonClickEventArgs 用来确定单击了哪个按钮。 课堂练习:在运行时添加和移除控件 ●添加新控件 6)为什么decimalCheckBox 出现在GroupBox1控件的左上角? 答:控件位置属性的默认坐标X和Y的值均为零。 课堂练习:在运行时更新菜单 ●使用另一个MainMenu 9)什么时候能在一个应用程序中使用多个MainMenu 控件? 答:在应用程序的上下文改变或者应用程序有多种状态时,使用(显示)多个MainMenu 对象会很有帮助。 ●将一个ContextMenu 分配给一个控件。 5)如何找出哪个控件与ContextMenu 有关联? 答:ContextMenu.SourceControl 属性获取显示快捷方式菜单的控件。 ●找出与ContextMenu关联的控件

用户界面设计与答案

1.用户满意度=功能+___人机界面_____+响应时间+可靠性+易安装性+____信息____+可维护性+其他因素 2. ____人机交互(人机对话)____是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 3.软件界面设计分为____功能性设计界面____、____情感性设计界面____、____环境性设计界面____。 4.进行系统分析和设计的第一步是___用户分析_____。 5.使用较早,也是使用最广泛的人机交互方式是____交互方式____。 6.软件界面开发流程包括____系统分析____、____系统设计____、____系统实施____三个阶段 7.设计阶段包括界面的____概念设计____、____详细设计____、____原型建立____与界面实现以及综合测试与评估等8.VB 是以结构化___Basic_____语言为基础、以____事件驱动作____为运行机制的可视化程序设计语言。 9.菜单使用形式主要有____菜单操作____和____Tba控件操作____两种。 10.随着计算机图形技术的发展,以直接操纵、桌面隐喻以及所见即所得为特征的____图形用户界面____技术广泛被计算机系统采用。 11.在用VB 开发应用程序时,一般要布置窗体、设置控件的属性、___编写代码___。 12. 假定在窗体上有一个通用对话框,其名称为CommonDialog1,为建立一个保存文件对话框,则需要把Action 属性设置为__value__。 13. 计时器事件之间的间隔通过__interval__属性设置。 14. 语句“Print “5+65=”;5+65”的输出结果为__5+65=70__。 15. 设有下列循环体,要进行4次循环操作,请填空。 x = 1 Do x = x * 2 Print x Loop Until__x<=32__ 16. 下列程序段的执行结果为__2 3 5__。 x = 1 y = 1 For I = 1 To 3 F= x + y x = y y = F Print F; Next I 17. 以下为3个列表框联动的程序,试补充完整。 Private Sub Dir1_Change() File1.Path=Dir1.Path End Sub Private Sub Drive1_Change() Drivel.Path=File1.Path;Dir1.Path=Drivel.Path__[7]__ End Sub 18. 在下列事件过程中则响应该过程的对象名是cmdl,事件过程名是__窗口标题事件__。 Private Sub cmd1_Click() Form1.Caption=“VisualBasic Example” End Sub 19. 当将文本框的SelStar 属性设置为0时,表示选择第开始位置在第一个字符之前,设置为1时表示__[9]__。 20. 以下程序代码实现单击命令按钮Command1 时形成并输出一个主对角线上元素值为“-”,其他元素值为“+”第6*6 阶方阵。 Privas Sub Command1_Click() DimA(6,6) For I = 1 To 6 For J = 1 To 6 If I = J Then Print “-” Else __[10]__ End If Print A (I,J); Next J Print Next I End Sub 21. 字母B的KeyAscii 码值为65,其KeyCode码值___[11]__。 22. Visual Basic 中的控件分为3类:__[12]_、ActioveX 控件和可插入对象。

C#中用户控件与窗体间的消息传递

C#中用户控件与窗体间的消息传递 如果在c#中实现用户定义控件内的事件挂勾到调用的窗体事件中 我们都知道在https://www.sodocs.net/doc/3f2836114.html,开发中,如果使用用户定义控件可以有效的进行程序的模块化。其实在.net 的winform中也是可以使用的。 细节如下: 1、新建应用程序windowsapplication1。 2、添加新的用户控件userlogin。(如图user) 3、定义用户属性 //定义属性 public string username { get{return username;} set{username=value;} } public string password { get{return password;} set{password=value;} } 4、定义委托 //定义委托 public delegate void btnokclickeventhander(object sender,eventargs e); public delegate void btncancelclickeventhander(object sender,eventargs e); 5、定义事件 //定义事件 public event btnokclickeventhander btnokclick; public event btncancelclickeventhander btncancelclick 6、事件实现 private void textboxuid_textchanged(object sender, system.eventargs e) { username=this.textboxuid.text; } private void textboxpwd_textchanged(object sender, system.eventargs e) { password=this.textboxpwd.text; } private void buttonok_click(object sender, system.eventargs e) { if (btnokclick!=null)

在用户窗体上添加状态栏

技巧1 在用户窗体上添加状态栏 在错误!未找到引用源。、错误!未找到引用源。中我们在用户窗体上添加了菜单和工具栏,为了使窗体更像正规的软件,还需要在用户窗体的底部添加一个状态栏,用于显示程序的各种状态信息。 在用户窗体上添加状态栏使用StatusBar控件,StatusBar控件用于设计窗体状态栏,状态栏由一组连续的窗格(最多16个)对象组合而成,用于显示应用程序当前的工作状态,其位置通常在应用程序窗体的底部。在设计模式下右键单击“工具箱”,在显示的右键菜单中选择“附加控件”,在显示的对话框中选择“Microsoft StatusBar Control,veision 6.0”控件如图1-1所示,拖动后就可以在用户窗体上添加一个StatusBar控件。 图1-1 选择StatusBar控件 在用户窗体上添加了StatusBar控件后还需要添加窗格,可以在StatusBar控件的属性页中进行设置和添加,在StatusBar控件的属性窗口中选择“自定义”按钮,在显示的属性页中设置属性和添加窗格,如图1-2所示。

图1-2 添加StatusBar控件的窗格 也可以在代码运行时对其进行属性设置和添加窗格,双击用户窗体写入下面的代码: #001 Private Sub UserForm_Initialize() #002 ……使用API函数添加菜单代码略,详见附件。 #003 Dim arr As Variant #004 Dim i As Byte #005 ……使用Toolbar控件添加工具栏代码略,详见附件。 #006 arr = Array(0, 6, 5) #007 With StatusBar1 #008 .Width = Me.Width - 10 #009 For i = 1 To 3 #010 .Panels.Add(i, , "").Style = arr(i - 1) #011 Next #012 .Panels(1).Text = "准备就绪!" #013 .Panels(2).Width = 60 #014 .Panels(3).Width = 75 #015 .Panels(1).Width = Me.Width - .Panels(1).Width

第二章 窗体与基本控件

第二章窗体与基本控件 教学内容: 一、窗体 窗体的属性、事件、方法及应用举例 二、基本控件以及对控件的格式化 命令按钮、标签、文本框等基本控件属性、事件与方法,基本控件的添加/删除、调整控件的大小与位置、窗体与控件的布局调整 三、简单语句 Print方法、人机对话函数(InputBox,MsgBox,Cls,End,Stop,Rem语句)、基本格式、功能、举例说明。教学要求: 了解:控件的格式化 掌握:常用控件(窗体、文本框、标签、命令按钮)的常用属性、事件和方法、Print方法、Inputbox、Msgbox、Cls、End语句的使用方法 §2.1 窗体 1.窗体的基本属性 Name 对象的名称 指定窗体的名称,在程序代码中用这个名称引用该窗体。 第一个窗体的名称缺省值为form1,通常要给name属性设置一个有实际意义的名称,便于识别。 Caption 对象的标题 设置窗体标题栏显示的文本。 Height 对象的高度 Width 对象的宽度 设置窗体的高度和宽度。单位为Twip。 1Twip=1/20点=1/1440英寸=1/567cm Enabled 对象的激活或禁止 用来设置窗体是否响应鼠标或键盘事件。缺省时为True,窗体能够对用户产生的事件作出反映。 Visible 对象的可见性 设置窗体是否显示。True(窗体可见),False(运行时,窗体及其上面的对象都将被隐藏) Top 对象的顶边距离 Left 对象的左边距离 Backcolor 设置窗体的背景颜色; Forecolor 设置窗体的前景颜色。 Font 设置窗体上字体的样式,大小,字形等。 Picture 设置在窗体中显示的图片。 注意:要在程序中设置该属性的值,需要使用LoadPicture函数。 WindowStare属性设置窗体运行时的大小状态。有三个可选值: 0-Normal 窗体大小由Height和Width属性决定,此值为缺省值; 1-Minimized 窗体最小化成图标; 2-Maximized 窗体最大化,充满整个屏幕。 2.窗体的事件和方法 事件: Click(单击)事件:单击鼠标左键时触发 DblClick(双击)事件:双击窗体时触发 Load(装入)事件:窗体被装入工作区时触发 方法: Print 格式:[对象名.] Print [表达式列表][;|,] 功能:在对象上输出信息 例如:Form1.Print “VB”;”程序设计” Cls 格式:[对象名.] Cls

C#中的窗体菜单

using System; using System.Collections.Generic; using https://www.sodocs.net/doc/3f2836114.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Reflection; using dxsDataFrom.dxsCode; using DevExpress.LookAndFeel; using DevExpress.XtraBars; namespace dxsDataFrom { public partial class dxsMenfrom : Form { #region private dxsInterface.ChildrenParam _ChildrenParam = new dxsInterface.ChildrenParam(); #endregion public dxsMenfrom() { InitializeComponent(); //this.skinEngine1.SkinFile = ""; //_ChildrenParam.SkinEngine = this.skinEngine1; RegisterUserSkins(); //https://www.sodocs.net/doc/3f2836114.html,erLookAndFeel.Default.SetSkinS tyle("Imaginary"); } https://www.sodocs.net/doc/3f2836114.html,erBull user = new https://www.sodocs.net/doc/3f2836114.html,erBull(); private void dxsMenfrom_Load(object sender, EventArgs e) { DevExpress.XtraBars.Localization.BarLocalizer.Active = new DevExpress.LocalizationCHS.DevExpressXtraBarsLocalizationCHS(); DevExpress.XtraCharts.Localization.ChartLocalizer.Active = new DevExpress.LocalizationCHS.DevExpressXtraChartsLocalizationCHS(); DevExpress.XtraEditors.Controls.Localizer.Active = new DevExpress.LocalizationCHS.DevExpressXtraEditorsLocalizationCHS(); DevExpress.XtraGrid.Localization.GridLocalizer.Active = new DevExpress.LocalizationCHS.DevExpressXtraGridLocalizationCHS();

向用户窗体中添加控件

若要向用户窗体中添加控件,请在“工具箱”中查找要添加的控件,将该控件拖到窗体上,然后拖动控件上的调整柄,直至控件的外边框成为所需的大小和形状。 注意如果将控件(或若干“成组”的控件)从窗体拖回到“工具箱”,将创建该控件的一个模板,该模板可被重新使用。对于实现应用程序的标准界面,这是非常有用的功能。 向窗体添加了控件之后,可用 Visual Basic 编辑器中“格式”菜单上的命令调整控件的对齐方式和间距。 上页:Excel VBA教程:向文档中添加控件下页:Excel VBA教程:应用程序对象事件 Excel VBA Excel VBA教程:应用程序对象事件Excel VBA教程:图表对象事件 Excel VBA教程:控件和对话框事件Excel VBA教程:在某一 Microsoft Office 应用程序中控制其他 Microsoft Office 应 用程序 Excel VBA教程:创建自定义对话框Excel VBA教程:新建工作簿 Excel VBA教程:创建“用户窗体”Excel VBA教程:显示自定义对话框 Excel VBA教程:获取有关 Macintosh 关键 字的帮助 Excel VBA教程:在单元格区域中循环Excel VBA教程:如何引用单元格和区域Excel VBA教程:初始化控件属性Excel VBA教程:打开工作簿Excel VBA教程:QueryTable对象事件 Excel VBA教程:引用工作表上的所有单元格Excel VBA教程:用 A1 样式记号引用单元格 和单元格区域 Excel VBA教程:用编号引用单元格Excel VBA教程:相对于其他单元格来引用单 元格 Excel VBA教程:用 Range对象引用单元格Excel VBA教程:用快捷记号引用单元格

winfrom窗体和控件布局

第4章 1.回顾 桌面应用程序中的单选按钮的使用 可以使用分组框对控件进行分组 用PictureBox可显示图片 Timer控件是用于计时的计时器控件,可以重复执行Tick事件 滚动条可滚动取值,用进度条可记录某一过程的进度情况 用选项卡控件可对窗体上的控件进行分类 2.本章内容 了解SDI、MDI窗体 掌握TreeView控件 3.本章重点 了解SDI、MDI窗体 掌握TreeView控件 4.本章讲课思路 什么单文档、什么是多文档 多文档窗体的作用 如何创建多文档窗体 treeview控件 节点集和节点对象 5.知识点讲解 01.知识点一:MDI窗体 a)讲解思路: 1)什么是窗体,应用程序的用户界面,多文档窗体有是什么样的窗体? 2)SDI、MDI窗体的区别 3)如何创建多文档窗体 4)MDI主窗体的属性、方法和事件 5)操作MDI子窗体 6) b)讲解要点:

如何创建多文档窗体 MDI主窗体的属性、方法和事件 操作MDI子窗体 c)课堂练习: 创建一个winform登录程序主窗体编译并运行 d)小结: MDI多文档窗体,就是可以在一个界面中同时对多个文档进行操作 02.知识点一:TreeView控件 a)讲解思路: 什么数树形菜单 Windows 资源管理器中左窗格所包含的目录和文件是以树型视图样式排列的 Treeview 控件的作用。 用于以节点形式显示文本或数据,这些节点按层次结构顺序排列 节点集和节点对象 节点的常用属性和方法和事件 b)讲解要点: 节点集和节点对象 节点的常用属性和方法和事件 c)课堂练习: 在主窗体中添加treeview控件 d)小结: Treeview 控件的作用。 用于以节点形式显示文本或数据,这些节点按层次结构顺序排列 节点集和节点对象 03.课堂总结 a)思路: 04.掌握多文档窗体的创建及使用 05.使用树视图显示有层次结构的数据 06.作业: 课堂作业:编写登陆主窗体。 课后作业:书上日记本练习

用户窗体的

用户窗体的基础知识用户窗体的显示方式用于以编程方式显示用户窗体的语法是下列: UserFormName.Show 若要显示名为 UserForm1 用户窗体,使用以下代码: UserForm1.Show ,您可以加载到内存用户窗体而不实际显示它。可能需要复杂的用户窗体多个要显示的秒数。因为您可以预先用户窗体加载到内存中,您可以决定何时会导致这种开销。而不显示它加载 到内存的 UserForm1,使用下面的代码: Load UserForm1 显示用户窗体,您必须使用了以前显示的显示方法。 如何暂时隐藏用户窗体如果要暂时隐藏用户窗体,使用隐藏方法。您可能希望隐藏用户窗体,如果您的应用程序涉及到用户窗体之间移动。若要隐藏用户窗体,使用下面的代码: UserForm1.Hide 如何从内存中删除用户窗体若要从内存中删除用户窗体使用卸载语句。若要卸载 UserForm1 命名的用户窗体,使用下面的代码: Unload UserForm1 如果您卸载了用户窗体与用户窗体相关联,则与在用户窗体上某个控件关联的事件过程中(渚嬪的方式 单击命令按钮),可以使用"Me"关键字而不是用户窗体的名称。若要使 用"Me"关键字卸载用户窗体,使用下面的代码: Unload Me 如何使用用户窗体事件用户窗体支持许多预定义的事件,您可以将附加 VBA 过程。该事件时则该过程,您附加到该事件的运行。由用户执行的单个操作可以启动多个事件。最经常使用的用户窗体的事件包括初始化事件、, Click 事件和终止事件。 请注意VBA 模块包含事件过程可能被称为"隐藏"用户窗体模块。在模块包含事件过程中不可见 Visual Basic 编辑器的 Microsoft 项目资源管理器窗口的模块集合。您必须双击 用户窗体可以查看用户窗体代码模块的正文。 如何捕获用户窗体事件要捕获用户窗体事件,请按照这些步骤操作: 1.在 Excel 中创建一个新的工作簿。 2.在工具菜单上指向宏,然后单击Visual Basic 编辑器。

第1章 使用窗体和控件

第1章 使用窗体和控件 为了便于程序与用户间的交互,可以在Excel中创建独立的窗体,在其中添加一些控件,这样就可以让用户像使用Excel内置对话框一样,来使用窗体。不但减少了数据输入的麻烦,而且也使操作界面更加友好。本章将介绍窗体和控件的知识。 1.1Excel中的两类窗体 为了简化输入,可以在Excel工作表中通过添加控件的方式,制作一个交互性极强的表单系统。如图1-1所示的工作表也许您以前曾经看到过,它就是一个工作表窗体,其中放置了一些控件,使得输入与选择数据变得非常简单。这非常适合于开发人员给客户提供的最终Excel应用程序。 在Excel中进行各种操作时,经常会遇到在一个弹出的对话框中选择某个选项或输入某些内容而得到设置结果。如果希望自己定制对话框的外观及可用选项,那么就需要创建用户窗体。如图1-2所示为一个根据用户选择的选项来查询图书的一个查询窗体。 图1-1 一个工作表窗体的例子图1-2 一个用户窗体的例子本章剩下的部分将先介绍创建用户窗体的步骤和方法,然后介绍在工作表中使用控件的方法和技巧。 1.2使用InputBox和MsgBox函数代替窗体 在前几章中,我们已经多次用到了InputBox和MsgBox函数。使用这两个函数可以显

示简单的对话框。因此,如果不需要特别定制复杂的窗体,而只是获取用户的输入或返回一条信息,那么就可以使用InputBox和MsgBox函数来完成。 1.2.1InputBox InputBox函数分为两种,一种是VB程序中的InputBox函数,另一种是Excel中Appl ication对象的InputBox方法。它们都可以显示一个输入框,用于获取用户的输入信息,然后将返回结果赋值给一个变量以进行其他操作。Excel中的Application对象的InputBox方法比VB程序中的InputBox函数有更强大的功能。 VB程序中的InputBox函数的语法如下: InputBox(prompt, title, default, xpos, ypos, helpfile, contex t) InputBox函数中各参数的作用如下: prompt:显示在输入对话框中的文本(必选)。 title:显示在输入对话框标题栏中的文本(可选)。 default:显示在输入对话框的文本框中的默认值(可选)。 xpos和ypos:窗口左上角的屏幕坐标值(可选)。 helpfile:输入对话框中的帮助文件(可选)。 context:输入对话框中的帮助主题(可选)。 在使用InputBox函数时,通常只会使用前3个参数或者只使用前两个参数,得到如下的简化版本: InputBox(prompt, title, default) 例如,下面的代码将根据用户输入的内容返回一条信息: Sub GetInfo() Dim Ans As String Ans = InputBox("请输入", "输入信息") MsgBox "您输入的信息是:" & Ans End Sub 运行上面的代码,将显示如图1-3所示的对话框。当用户输入一个内容并单击【确定】按钮,将在一个对话框中显示所输入的内容。 图1-3 使用VB的InputBox函数打开的输入对话框 如果在上个例子中用户未输入任何内容或单击【取消】按钮,那么InputBox函数都将返回一个空字符串。为了强制要求用户输入内容,可以设置一个Do While循环,只要输

在VB中添加菜单

在VB中添加菜单 在Windows应用程序中,我们可以方便地通过菜单进行操作。就像我们常用的办公软件WORD: 程序的功能菜单在VB中可以借助菜单编辑器方便地生成菜单,下面随着我一步一步地操作,为自己的应用程序添加一个菜单。 首先新建一个工程,然后将窗体标题修改为“菜单程序示例”,如图: 当然这不是必须的! 在VB的菜单栏的“工具”菜单中选择“菜单编辑器”或直接点击快捷键CTRL+E打开。打开后的菜单编辑器是这样的: 此时还没有添加任何内容,下面我们为这个应用程序添加菜单内容,假设这个应用程序的菜单结构如下: 文件 ……新建 ……打开 ……保存 ……退出 编辑 ……剪切 ……复制 ……粘贴 帮助 ……关于前面有“……”标记的表示这是子菜单。现在我们就把这个结构用菜单编辑器来实现吧。 在打开的菜单编辑器的标题中输入“文件”,名称是供以后在程序中调用的,所以最好取个好记的与本菜单项相关的有意义的名称,我将它命名为“menu_File”,效果如图: 如果你用过WORD等程序,你会发现很多菜单上提供了一个快捷键,就是在菜单项的后面紧跟一对括号,其中指定一个字母,操作时只要用ALT键加上这个字母就可以打开这个菜单项了,如:文件(F)。这怎么实现呢?很简单,在上面的标题“文件”后输入“(&F)”就行了,试试吧。不要确定保存,我们还没有添加完呢。点击“下一个”按钮,将选择条移动到“文件”的下一行,然后用同样的方法输入“新建”菜单项,如果此时你点击保存,主窗口中将带有刚生成的菜单了,同时你也会发现“新建”菜单项和“文件”菜单项处于同一排,而不是以子菜单的形式生成在“文件”菜单项之内的,那怎么办呢?请仔细看看菜单编辑器中提供的各种功能吧(如图) 我们只要选中准备设置为子菜单的那一项(“新建”菜单项),点击上面的右箭头就行,点一次添加一级,如果点两次则是子子菜单,相应的菜单项前会用“…………”表示。用同样的方法把上面的菜单项添加到菜单编辑器中,效果如图: 在Windows应用程序中,有些菜单项被分隔条隔开,这样的效果怎么实现呢?我们在“文件”菜单中的“退出”菜单项上方添加一分隔条吧,选中“退出”菜单项,然后点击“插

在用户窗体上添加菜单

技巧1 在用户窗体上添加菜单 在VBA中,用户窗体上是没有菜单的,为了使用方便,我们可以使用API函数在用户窗体上添加菜单,示例代码如下: #001 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long #002 Private Declare Function SetMenu Lib "user32" (ByVal hwnd As Long, ByVal hMenu As Long) As Long #003 Private Declare Function CreateMenu Lib "user32" () As Long #004 Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long #005 Private Declare Function DestroyMenu Lib "user32" (ByVal hMenu As Long) As Long #006 Private Declare Function CreatePopupMenu Lib "user32" () As Long #007 Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long #008 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long #009 Private Const GWL_WNDPROC = (-4) #010 Private Const MF_STRING = &H0& #011 Private Const MF_POPUP = &H10& #012 Private Const MF_SEPARATOR = &H800& #013 Dim MenuWnd As Long, Dump As Long, PopupMenuID As Long, PopupMenuWnd As Long, MenuID As Long #014 Private Sub UserForm_Initialize() #015 If Val(Application.Version) < 9 Then #016 hwnd = FindWindow("ThunderXFrame", Me.Caption)

VBA的控件及用户窗体

目录 VBA常用技巧.................................................... 第8章控件与用户窗体...................................... 技巧1.................................................................... 限制文本框的输入 技巧2........................................................ 文本框添加右键快捷菜单 技巧3................................................................ 文本框回车自动输入 技巧4................................................................ 自动选择文本框内容 技巧5................................................................ 设置文本框数据格式 技巧6............................................................ 限制文本框的输入长度 技巧7................................................................ 将光标返回文本框中 技巧8.................................................................... 文本框的自动换行 技巧9................................................................ 多个文本框数据相加 技巧10.............................................................. 控件跟随活动单元格 技巧11.......................................................................... 高亮显示按钮 技巧12...................................... 组合框和列表框添加列表项的方法12-1....................................... 使用RowSource属性添加列表项 12-2................................................. 使用List属性添加列表项 12-3........................................... 使用AddItem方法添加列表项技巧13...................................... 去除列表框数据源的重复值和空格 技巧14...................................................................... 移动列表框条目 技巧15.......................................................... 允许多项选择的列表框

相关主题