添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

控件对象

通用属性

  • 自动调整控件大小,以适应控件内容:Autosize
  • alt快捷键:Accelerator
  • RGB颜色:RGB(R,G,B)
  • TabIndex :指定Tab 键顺序,最小为0,最大为父控件内控件数目-1。cycle属性中,0表示当在最后一个控件tab时跳转到所有控件的第一个控件,1表示在当前容器中的第一个。

窗体form(VBA)

动态创建:Public f1 As New Form1

属性

  • 可见性:Form1.visible=true。show后才能设置
  • 左坐标:Form1.scaleleft=50
  • 上坐标:Form1.scaletop=50
  • 宽:Form1.scalewidth
  • 图标:showicon
  • 锁定大小:Locked
  • 自动调整大小:Autoscalemode=none
  • 背景图片:Backgoundimage=image.fromfile("文件名") #放在bin,debug相对路径下,要后缀名
  • 去掉背景:Me.Backgoundimage=nothing
  • 边框样式:formborderstyle:none无边框,fixed固定大小的 ,sizable可变大小的(VSTO)
  • 边框样式:borderstyle:0无边框、0有边框(vba)
  • 边框姿色:bordercolor 有边框时才有效
  • 最小化按钮 :Minimizebox
  • 最大化按钮 :Maximizebox
  • 是否在任务栏显示:Showintarkerbar
  • 是否在窗体标题栏中显示图标 :Showicon
  • 标题栏右边的菜单栏 :Controlbox
  • 初始位置:Startposition
  • 位于顶层:topmost
  • 滚动条可见性:keepscrollbarsvisible:0无,1横,2纵,3 both
  • 滚动条类型:scrollbars 0/1/2
  • 滚动条垂直范围:Scrollheight
  • 滚动条水平范围:Scrollwidth
  • 垂直滚动条当前上边位置:ScrollTop
  • 水平滚动条当前左边位置:Scrollleft
  • drawbutter
  • HelpContextID
  • RightToLeft
  • 鼠标图标:mouseicon
  • 鼠标图标:mousepointer 内置样式
  • 背景图片:picture
  • 图片对齐方式:picturealigment
  • 图片伸缩模式:picturesizemode
  • 平铺图片:PictureTiling=true
  • 模式:ShowModal:若为true,则需要关闭窗体后,后续代码才会继续运行。
  • 指定对象的外观:SpecialEffect。0平面显示,通过边框、颜色来区别。默认值。1左边和顶边加亮显示,右边和底边带有阴影。2的顶边和左边带阴影,底边和右边加亮显示。3控件边缘呈凹入状态。6对象的底边和右边凸起。
  • tag自定义的额外信息。
  • 窗体上控件的提示信息:whatsthisbutton:用户可以单击 What's This 按钮,然后将鼠标指针移到窗体上的任何控件上,以获取该控件的帮助信息。
  1. 在 VBA 编辑器中打开要添加 What's This 按钮的窗体。
  2. 从“工具箱”窗格中选择“附加工具”,然后选择“ What's This 按钮”。
  3. 在窗体上单击并拖动鼠标以创建一个新的 What's This 按钮。
  4. 在“属性”窗格中,设置按钮的“名称”和“工具提示文本”。
  5. 在“单击”事件处理程序中,添加代码以提供有关该控件的帮助信息。
  6. 运行窗体并单击 What's This 按钮。将鼠标指针移动到控件上以获取帮助信息。

方法

  • 加载:show 无模式显示本窗体
  • 模态:Showdialog。有模式显示窗体。则在关闭该对话框之前,不执行 ShowDialog 方法后面的代码。
  • 卸载:Unload
  • 隐藏:hide
  • 释放资源:dispose ,释放后不能再被使用
  • 关闭窗体:Close。Close只是关闭而已,窗体还在,只是不显示了。只有在Dispose之后,才会彻底结束释放掉。

事件

  • Scroll:当滚动条滚动时发生。包括三种情况:滚动条移动、点击滚动条上下的箭头按钮、点击滚动条和箭头之间的区域。
  • Query_Unload:窗体关闭之前发生 。
  • End :强制性的终止运行, 不调用任何事件或代码
  • Unload:卸载当前窗体或控件,释放内存。在卸载窗体前,会发生 Query_Unload 事件过程,然后是 Form_Unload 事件过程。在其中任一过程中设置 cancel 参数为 True 可防止窗体被卸载。
  • Load:将窗体加载到内存中时事件
  • mouseup:鼠标松开时
  • mousedown:鼠标按下时
  • mousemove:鼠标移动时
  • closing (VSTO):关闭事件:
Private Sub 数据录入设置_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing 
        e.Cancel = True 
        Me.Hide() 
    End Sub

示例 (Microsoft Forms)

VSTO动态窗体

  Sub 添加窗体() 
  Public myForm As Windows.Forms.Form 
        myForm = New Windows.Forms.Form 
        myForm.Show() 
        myForm.Text = "自动测评系统:作答" 
        myForm.Left = 100 
        myForm.Top = 100 
        myForm.Height = 900 
        myForm.Width = 1000 
        myForm.Name = "myform1" 
        myForm.ControlBox = False
        myForm.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D 
    End Sub 

ListBox(VBA)

  • 区域添加元素:ListBox1.RowSource = "产品表 !a1:a5"
  • 数据添加元素:ListBox1.List = arr
  • 添加单个元素:ListBox1.AddItem Sheet5.Cells(i,1)
  • 选中项索引:Selectedindex
  • 选中项:Text和Selecteditem
  • 排序:Sorted=true
  • 清除元素:Items.clear

VSTO中

  • 垂直滚动条会自己增加
  • 水平滚动条不会自己增加
  • Listbox1.items.add(aaa)
  • 引用:listbox(i) 从0开始
  • 引用某个项目 ListBox1.List (i)
  • 项目数 ListBox1.ListCount
  • 项目索引号 ListBox1.ListIndex = 3
  • ListBox1.ListIndex = -1是否有被选中的项目
  • 设置焦点 listbox1.setfocus 选设置焦点再选择
  • 项目是不是被选择ListBox1.Selected(0) = True/false 返回true或false
  • 清除列表框 listbox2.clear
  • 表中所有选的内容 listbox1.text
  • 删除特定项目listbox1.removeitem 索引号

事件

Click

Itemcheck

Listbox1.Items.add(选项)

Listbox1.Items.insert(index,"选项")

BoundColumn 标识拥有多列的列表框中的数据来源 1 到列表框的列数(默认值: 1)

ColumnCount 列表框的显示列数

ColumnHeads 是否显示列表框的列标题行

ColumnWidths 多列的列表框中的各列宽度

ControlSource 数据源,即单元格地址

ControlTipText 当用户将鼠标指针放在列表框上但未按下时所显示的文本

HelpContextID 为控件指定自定义的帮助文件中的特定主题

帮助文件中主题的上下文 ID号码(默认值:0)

IMEMode 为列表框指定输入法编辑器 (IME) 的默认的运行时间模式。 0 到11(默认值 :0)

IntegralHeight 指定列表框是显示列表中全部文本行还是显示部分行

ListStyle 列表的外观

Locked 指定列表框能否被编辑

MatchEntry 表示列表框如何按用户键入的内容来搜索它的列表

MouseIcon 鼠标图案ICO格式

MousePointer 把鼠标放到列表框上时所显示鼠标指针的类型,99表示显示自定义的图案

MultiSelect 智能多选用2

fmMultiSelectSingle( 默认值 )

fmMultiSelectMulti fmMultiSelectExtended

SpecialEffect 指定列表框的外观(主要针对边框样式)

0、1、2、3、6(默认值:2

TabIndex 指定当前列表框在窗体Tab键顺序中的位置

从0到具有TabIndex属性的控件数减1之间

TabStop 指定当用户跳格到当前列表框时,列表框能否获得焦点。

Tag 列表框的批注。

Text 列表框中显示的文本

TextAlign 文本的对齐方式

TextColumn 当用户在列表框中选定一行时,通过此属性标识相应的列,将该列的值保存在Text属性中。

-1 到列表的列数之间的数值(默认值:-1)

Value 列表框中显示的文本,和Text属性同步

activeX列表框

添加元素

Private Sub ListBox1_GotFocus()
    Dim i As Long
    i = Sheet5.Cells(Rows.Count, 1).End(3).Row
    Me.ListBox1.ListFillRange = "产品表!a1:a" & i
End Sub

Checkbox1

Unchecked

Checked

indeterminate部分选中

Checkbox1.checked=true/false VB中是0/1/2 未选,选,不可选

chk = New System.Windows.Forms.CheckBox

chk.Text = ""

chk.Top = chk_top

chk.Left = 40

chk.Width = 150

chk.Height = 30

chk_top += chk.Height + 10

动态

Dim chk as msforms.checkbox

Set chk=usm.designer.controls.add("forms.checkbox.1")

任务空格

Microsoft.office.tools.customtaskpanes.add

【任务窗格】指停靠边上的部分,Globals.ThisAddIn.下的对象,

Public 任务窗格

Public 用户控件 as new usercontrol

任务窗格=Globals.ThisAddIn.CustomTaskPanes.Add(用户控件, "测试任务窗格")

任务窗格.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight

Globals.ThisAddIn.任务窗格.Visible = true

Globals.ThisAddIn.任务窗格.Width = 400

System.Windows.Forms.Application.DoEvents() ’加此句才能起作用

Globals.ThisAddIn.myUsercontrol1.TextBox1.Focus()

checklistbox

  • check:框有三种状态:选中,勾选,未选
  • CheckOnClick True单击勾选;false双击勾选
  • checkedListBox1.GetItemChecked(i);第i项条目是否被勾选
  • checkedListBox1.SetItemChecked(i,true) i为下标,
  • checkedListBox1.MultiColumn多列显示
  • checkedListBox1.ColumnWitdh多列时,各列的列宽。只有在MultiColumn=true时才有意义
  • checkedListBox1.SelectMode=None/One。None项不能被选中,也不能被勾选;One只有一个条目可以被选中(但勾选可以选多项)
  • checkedListBox1.Sorted属性根据字母进行排序
  • checkedListBox1.Items(0)项的标签名,下标从0开始
  • checkedListBox1.Items(0)用来赋值
  • checkedListBox1.Items.count
  • checkedListBox1.Items.Add(“条目一”,true);新增项“条目一”,被勾选
  • checkedListBox1.Items.RemoveAt(1) 移除条目
  • checkedListBox1.Items.Insert(i,"条目n")
  • checkedListBox1.Items.Clear清除所有条目
  • checkedListBox1.SelectedItem被选中的项,不能赋值
  • checkedListBox1.Selectedindex被选中的索引号
  • checkedListBox1.SelectedItems选中的条目的集合(不是勾选)

选择改变时事件:SelectedIndexChanged

tab

选中页索引:tab.SelectedIndex

下标从0开始tb.TabPages(0).Text = "bbb"

Public tab As Windows.Forms.TabControl

Sub 添加多页()

Dim I,pagen

Pagen=2

tab = New Windows.Forms.TabControl

myForm.Controls.Add(tab) '添加到窗体窗口

tab.TabPages.Add("基本信息") '添加页

tab.TabPages(0).Name = "tabpage0"

For i = 2 To pagen

tab.TabPages.Add("第" & i & "部分")

Next i

tab.Left = 10

tab.Top = 10

tab.Height = 50

tab.Width =50

End Sub

循环tabpage

Dim a As Windows.Forms.TabPage

For Each a In tab.TabPages

a.AutoScroll = True

Next

Dim cong As Windows.Forms.Control

循环第一页中的控件

For Each cong In tab.TabPages(i).Controls

Next cong

TreeView1

  • 添加节点:TreeView1.Nodes.Add(group1)

combobox组合框(VBA)

组合框包括文字输入框、下拉菜单两部分。用户可以自己输入,也可以从下拉菜单选择

  • 添加元素:同listbox
  • 删除:Removeitem 不能删除rowsourse设置的填充数据
  • 排序:Sorted
  • 项数:listcount
  • 清除所有项:Clear
  • 显示列标题:Columnheads。只在引用工作表数据源时才有效,而且数据源不能包括标题行。
  • 列数:ColumnCount
  • 选中项索引:ListIndex,没选取时为-1
  • 下拉列表最大行数:ListRows
  • 是否显示下拉按钮:ShowDropButtonWhen
  • 下拉按钮类型:DropButtonStyle 四种类型:0,1,2,3
  • 下拉列表列宽:可以用厘米、磅、英寸为单位。用分号+空格隔开。如商品.ColumnWidths = "70 磅;60 磅"
  • Change 事件:更改选定项时发生。
  • DropDown 事件:展开 ComboBox 时发生。
  • click事件:单击项时发生
  • DropButtonClick事件:点击下拉按钮时。

richtext

  • Selectionfont
  • Selectioncharroffset离基线距离
  • Selectioncolor
  • Selectionalignment 对齐方式012
  • Selectionindent缩排
  • Selectionrightindent
  • Selectionhangingindent
  • .paste粘贴剪贴板内容
  • Savefile 文件路径和文件名[.文件类型] 0是rtf,1为txt
  • Loadfile 格式一致

button

动态创建

  • but = New Windows.Forms.Button
  • tab.TabPages(0).Controls.Add(but)
  • AddHandler but.Click , AddressOf 下一步点击事件

label

  • textalign对齐方式(9宫9种方式)
  • image图形
  • imagealign图片对齐方式

动态创建标签:

    Sub 添加指导语() 
 Public lab As Windows.Forms.Label    '随机的标签控件 
        lab = New Windows.Forms.Label 
        tab.TabPages(0).Controls.Add(lab) 
   lab.Text = "指导语" 
        lab.Left = 10 
        lab.Top = 15 
        lab.Width = Gbox.Width / 2 
        lab.Height = 40 
        'lab.BorderStyle = Windows.Forms.BorderStyle.FixedSingle 
        lab.AutoSize = False 
        lab.Font = New Drawing.Font("宋体", 20, Drawing.FontStyle.Bold) 
        lab.BorderStyle = Windows.Forms.BorderStyle.FixedSingle 
        lab.TextAlign = Drawing.ContentAlignment.MiddleCenter  ’对齐 
         tab.TabPages(0).Controls.Add(lab) 
         End Sub 
不能调整行距,可用回车换行来实现

optionbutton(VBA)

value:是否被选中

groupbox

动态创建分组框:

Public Gbox As Windows.Forms.GroupBox 
        Gbox = New Windows.Forms.GroupBox 
        tab.TabPages(0).Controls.Add(Gbox) 
        Gbox.Height = 60 
        Gbox.Left = 10 
        Gbox.Top = bottom 
        'Gbox.BackColor = 
         Gbox.Name = "groupbox" & j   '在后面用来排除是否所有题都已作答 
 Gbox.Controls.Add(lab)   ‘添加到groupbox容器 

ScrollBar(VBA)

ScrollBar 是可放置到窗体上的独立控件。

  • 最小值:Min
  • 最大值:Max
  • 当前值:Value
  • 单击箭头时改变量:SmallChange
  • 单击轨道区域时改变量:LargeChange
  • 方向:Orientation包括0自动,1垂直、2水平。
  • 宽度:Width
  • 滑块大小:ProportionalThumb 与滚动区成比例的还是固定的ture、false
  • Scroll:在当前值的基础上,更改ScrollBar控件的值。
  • SetFocus:将键盘焦点设置为ScrollBar控件。
  • Move:移动ScrollBar控件到指定的位置。
  • Delete:从用户界面中删除ScrollBar控件。

文本框textbox

  • 获得焦点:Textbox1.focus() getfocus
  • 获得按键keypress(按键并释放时触发,按钮值用e.keychar表示,可用asc(e.keychar)=13来判断按下的是不是回车)
  • 用e.handled=true来取消按键
  • lostfocus说明输入结束,可以进行判断
  • passwordchar输入时替代显示的字符
  • 最大长度maxlength
  • 文本长度textlength
  • 可多行multiline
  • Scrollbasrs 无,水平,垂直,再者(需要multiline才会有滚动条,需要wordwarp=false不自动换行,才会有水平滚动条)
  • 待定文本的起始位Selectionstart=0
  • 文本长度Selectionlength=4
  • Selectedtext="XXX" 选中的文本内容,没有选中内容,则是指光标位置
  • readonly只读,不可修改
  • Scrollbars滚动条
  • Multiline多行
  • 获取焦点:setfocus
  • Text1.selstart光标开始位置
  • Text1.sellength选择长度
  • Text1.font=”隶书”/“仿宋” /楷体”
  • Text1.fontitalic=TRUE
  • Text1.fontBOLD=TRUE
  • Text1.fontUNDERLINE=TRUE
  • Text1.mxlength=1最大长度

动态创建:

   txt = New Windows.Forms.TextBox 
            txt.Left = Gbox.Width / 2 + 50 
            txt.Top = 20 
            txt.Width = 200 
            txt.Height = 40 
            txt.Font = New Drawing.Font("宋体", 12) 
            'AddHandler txt.TextChanged, AddressOf 操作事件 

tugglebutton

Checked

option

动态创建:

Public opt As Windows.Forms.RadioButton 
For i = 1 To optn 
            opt = New Windows.Forms.RadioButton 
            Gbox.Controls.Add(opt)    ’添加到容器 
            opt.Text = i 
            opt.Left = 50 
            opt.Top = 15