精华内容
下载资源
问答
  • VB讲课笔记06:窗体常用控件

    千次阅读 2018-03-10 17:24:29
    VB讲课笔记06:窗体常用控件 一、窗体设计 窗体是VB最基本的对象,是应用程序的基本组成部分,是菜单栏、工具栏和控件等对象的容器,是应用程序与用户交互的窗口或对话框。窗体设计是整个VB应用程序设计的基础...

    目录

    一、窗体设计

    1、窗体设计分类

    2、窗体常用属性

    设置窗体背景图片的两种方法

    3、窗体常用事件

    任务1、每单击窗体一次,让窗体缩小1/3。

    任务2、设置窗体背景图片(静态方式、动态方式)

    4、窗体常用方法

    案例:测试窗体常用方法

    5、多重窗体程序如何设置启动对象(窗体或Sub_Main过程)

    6、加载窗体与卸载窗体

    二、控件概述

    1、控件概念

    2、VB控件分类

    三、标签控件

    1、标签概述

    2、标签常用属性

    标签控件示例

    四、文本框

    1、文本框概述

    2、文本框常用属性

    3、文本框常用事件

    4、焦点

    5、获得焦点的方法

    案例1、计算圆周长、圆面积与球体积

    五、按钮

    1、按钮概述

    2、按钮常用属性

    3、按钮常用事件

    案例:用户登录(标签、文本框和按钮)

    六、图片框与图像框

    1、图片框属性

    2、图像框属性

    3、图像框与图片框的区别

    4、图片框和图像框的事件和方法

    案例:交换图片

    案例:图片框与图像框比较

    七、单选按钮与复选框

    1、单选按钮与复选框常用属性

    单选按钮案例演示:

    复选框案例演示:

    八、列表框与组合框

    (一)列表框

    1、列表框概述

    2、列表框常用属性

    (二)组合框

    1、组合框概述

    2、组合框三种样式

    (三)列表框与组合框常用事件

    列表框案例:选择水果

    九、滚动条

    1、滚动条常用属性

    2、滚动条常用事件

    ​十、计时器

    1、计时器属性

    2、计时器事件

    案例:滚动字幕

    十一、框架

    1、框架概述

    2、框架常用属性

    十二、形状控件

    1、Shape概述

    2、常用属性

    案例:展示六种基本形状以及交替显示两种图形

    十三、焦点与Tab顺序

    1、焦点

    2、Tab顺序

    十四、综合案例:个人信息注册


    一、窗体设计

    窗体是VB中最基本的对象,是应用程序的基本组成部分,是菜单栏、工具栏和控件等对象的容器,是应用程序与用户交互的窗口或对话框。窗体设计是整个VB应用程序设计的基础。一个窗体对应一个代码模块。

    1、窗体设计分类

    (1)单窗体设计

    应用程序中只包含一个窗体,即单文档窗体。

    (2)多重窗体设计

    应用程序中包含多个窗体,即多个单文档窗体。

    (3)多文档窗体(MDI)设计

    一种特殊的多窗体界面,应用程序中包含一个父窗体和多个子窗体。

    2、窗体常用属性

    (1)Name(名称)

    窗体名称,默认值为Form1、Form2、……。只能在设计阶段通过属性窗口改变,运行时不能更改。

    (2)Caption(标题)

    在窗体的标题栏中显示的标题,默认值为Form1、Form2、……。


    • 窗体的属性决定窗体的外观和操作。可以通过属性窗口、程序代码、鼠标拖动来设置窗体属性。
    • 名称(Name)属性与Caption属性有本质区别。Caption属性的值显示在标题栏中,而名称(Name)属性是一个标识,用于区别其他对象,在代码中标识对象。
    • 在设计状态下,窗体和控件的Name属性值可以由编程人员设置,这就是对窗体或控件的命名,命名必需使用合法的用户标识符。

    (3)MinButton

    最小化按钮,取值为True/False, 默认值为True,表示显示最小化按钮。

    (4)MaxButton

    最大化按钮,取值为True/False,默认值为True,表示显示最大化按钮。

    (5)ControlButton

    确定是否显示三个控制按钮(最大化、最小化、关闭按钮),默认值为True。如果设置为False,不显示三个控制按钮。

    如果将MinButton属性设置为False,则窗体的最小化按钮显示为灰色。

    如果将MinButton属性和MaxButton属性均设置为False,则最小化按钮和最大化按钮均不会显示,只显示关闭按钮。

    (7)ForeColor

    设置窗体上显示文本的颜色。

    (8)Font

    设置窗体上显示文本的字体。

    (9)Enabled

    设置窗体运行时能否被用户操作。默认值为True,能被用户操作;如果设置为False,则不能被用户操作。在运行时才能看到效果。

    (10)Visible

    设置窗体运行时是否可见。默认值为True,窗体可见;如果设置为False,窗体不显示,此时不能被用户操作。在运行时才能看到效果。

    (11)BorderStyle

    确定窗体边框的类型,取值范围为0到5。

    (12)Picture

    设置窗体背景的图像,默认值为空,表示没有背景图像。

    (13)Left、Top

    设置或返回窗体的左边框距屏幕左边的距离、顶部距屏幕顶部的距离。

    (14)Height、Width

    设置或返回窗体的高度和宽度。

    (15)WindowState

    窗体开始运行时的初始显示状态,0表示正常状态(默认值),1表示最小化,2表示最大化。

    (16)StartUpPosition

    用于设置窗体启动位置

    (17)Count属性

    窗体里控件个数

        


    设置窗体背景图片的两种方法


    (1)直接在属性窗口中,选择Picture属性,通过选择文件或“粘贴”剪贴板中的图形,进行设置。

    (2)在程序中用函数LoadPicture将图像调入作为背景,其格式为:

     [Object.]Picture = LoadPicture("图像文件的完整路径名和文件名")

    如果Object(对象)为当前窗体,则可省略为:

    Picture = LoadPicture("图像文件的完整路径名和文件名")

    3、窗体常用事件

    (1)Initialize

    初始化所有的数据。

    (2)Load

    发生在Initialize之后。装载窗体,但此时窗体不是活动的。

    (3)Activate

    发生在Load之后。激活窗体,等待其他事件发生,此时才能响应用户在界面上的交互操作。

    (4)Click

    在Activate之后,单击窗体,触发Click事件。

    (5)DbClick

    在Activate之后,双击窗体,触发DbClick事件。

    (6)Resize

    在Activate之后,如果进行了改变窗体大小的操作,才会触发Resize事件。

    (7)Unload

    关闭窗口时才发生。把窗体从内存中删除(即卸载窗体)。

    任务1、每单击窗体一次,让窗体缩小1/3。

    单击一次窗体:


    任务2、设置窗体背景图片(静态方式、动态方式)

    (1)静态方式

    (2)动态方式

    问题:如何通过代码取消设置的背景图片呢?

    运行程序,单击窗体加载背景图片:

    单击【清除窗体背景图片】按钮:


    4、窗体常用方法

    (1)Cls

    清除运行时输出的文本和图形。

    格式:[Object.]Cls

    (2)Show

    显示窗体。

    格式: <Object.> Show

    (3)Hide

    隐藏窗体。

    格式: <Object. > Hide

    (4)Move

    移动窗体或控件。

    格式: [Object.] Move Left,Top,Width,Height


    案例:测试窗体常用方法


    通过Move方法固然可以改变窗体在屏幕上的位置,其实通过修改窗体的Top和Left属性也可以移动窗体。

    以后我们结合定时器Timer,定时修改控件的位置,可以产生动画效果。

    Left属性——相当于横坐标;Top属性——相当于纵坐标

    此时,可以通过四个按钮将窗体移到屏幕的任何位置。

    5、多重窗体程序如何设置启动对象(窗体或Sub_Main过程)

    将启动对象改为Form2:

    启动程序,看看是不是Form2出现在屏幕上。

    下面我们把Sub Main作为启动对象,要求用户输入姓名,如果姓名是“admin”,则显示窗体Form1,否则显示窗体Form2。

    启动程序,首先弹出输入框,要求用户输入姓名:

    输入“admin”,看看那个窗体出现在屏幕上:

    单击【确定】按钮,你会发现窗体Form1出现在屏幕上:

    关闭程序,重新启动,这次输入其它姓名来试一试。

    6、加载窗体与卸载窗体

    运行程序:

    单击【加载窗体2】按钮,屏幕上没有动静。

    单击【显示窗体2】按钮,显示出第二个窗体:

    单击【卸载窗体2】按钮,第二个窗体消失:

    二、控件概述

    1、控件概念

    控件是在图形用户界面(GUI)上输入信息、输出信息、启动事件过程等交互操作的图形对象,是进行可视化程序设计的基础和重要工具。

    2、VB控件分类

    (1)标准控件

    (2)ActiveX控件

    (3)可插入对象控件 

    三、标签控件

    1、标签概述

    标签控件(Label)主要用于显示文本信息及程序运行的某些结果等。
    默认控件名为 Label1、Label2、…。

    2、标签常用属性

    (1)Caption

    用于在标签中显示文本。其值为字符型,是默认属性

    (2)Alignment

    文本的对齐方式。

    •     0-左对齐(默认值)
    •     1-右对齐
    •     2-居中

    (3)BackStyle

    设置标签背景是否透明。

    •     0-透明(默认值)
    •     1-表不透明

    (4)BorderStyle

    设置有无边框。

    •     0-无边框(默认值)
    •     1-表有边框

    (5)Autosize

    决定是否能自动改变控件大小以显示全部内容。

    • True-自动调节
    • False-不自动调节(默认值)。

    (6)Wordwrap

    决定是否能扩大控件以显示标题文字。
     当Autosize和Wordwrap均为True时,显示在要标签中的文本就能实现自动换行。

    默认属性是在程序代码中,可以省略的属性,即可用控件名称(Name)代替该属性。

    运行程序:

    单击窗体:

    标签控件示例


    先设置了字折行,再设置自动调整大小:

    四、文本框

    1、文本框概述

    文本框(TextBox)主要用于在窗体中显示和接收文本信息。
    在程序运行期间,用户可用鼠标、键盘在文本框中进行文字编辑。
    文本框的默认控件名为Text1、Text2…。

    2、文本框常用属性

    (1)Text

    文本框中显示的文本内容。其值为字符型,是默认属性。

    (2)PassWordChar

    口令字符,设置文本框内容显示形式(仅对单行文本有效) 。 
         设置为空,表示正常显示形式(默认值)
         设置一个字符,比如“*”,表示显示内容均为该字符

    (3)MultiLine

    决定是否能接收和显示多行文本。
         设置为True,表示可接收和显示多行文本

    (4)MaxLength

    文本框中可接收和显示字符的最大长度。
         设置为0,表示字符数无限制

    (5)ScrollBars

    确定文本框是否具有滚动条,只有当MultiLine True时,该属性才有效。
          设置为0,表示无滚动条
          设置为1,表示有水平滚动条
          设置为2,表示有垂直滚动条
          设置为3,表示有水平和垂直两种滚动条

    (6)Locked

    设置是否锁定文本框中的内容。
          设置为True,表示不能改编辑文本框内容

    设置为False,表示可以编辑文本框内容

    (7)SelText、SelLength

    设置选定文本的内容和长度。
         若未选定任何文本,则SelLength的值为0
    (8)SelStart

    设置在文本框中插入点的位置
         设置为0,表示插入点在最左边(默认值)

    3、文本框常用事件

    文本框除了能响应事件Click、DblClick外,还可响应其他事件。
    (1)Change:当Text属性发生变化时,触发该事件。
    (2)GetFocus:当对象获得焦点时,触发该事件。
    (3)LostFocus:当对象失去焦点时,触发该事件。
    (4)KeyPress:在拥有焦点时,按下键盘键并释放则触发该事件。

    4、焦点

    一个窗体上可以添加多个控件,但最多只允许一个控件能够接受键盘输入。这个能处理键盘事件的控件称为“拥有焦点”。原先不拥有焦点的对象,现在能够接受键盘输入了,称为“获得焦点”,同时触发GotFocus事件;反之,则称为“失去焦点”,同时触发LostFocus事件。例如:在用户界面上,若某个文本框中有表示插入点的竖线在闪动,则表示该文本框拥有焦点。

    5、获得焦点的方法

    (1)用鼠标单击窗体上的某个控件,可以使它获得焦点。
    (2)利用键盘上的Tab键,可以使焦点在不同对象之间按TabIndex 属性指定的顺序依次转移。但是,如果某个对象的TabStop属性设置为False,利用Tab键转移焦点时将跳过该对象。

    注意:许多控件是可以拥有焦点的,但Label、Frame、Timer、Image等控件不能拥有焦点。

    (3)要将焦点移到指定的对象上,可使用SetFocus方法。
      SetFocus方法适用于大部分可见控件,其代码格式:<Object.> SetFocus
    例如:将焦点移到文本框Text1上,使用代码为:Text1.SetFocus

    案例1、计算圆周长、圆面积与球体积

    要求计算结果保留二位小数,第三位四舍五入。

    案例2、演示文本框中选定文本

    五、按钮

    1、按钮概述

    命令按钮(CommandButton)是以按钮的形式出现在窗体上。命令按钮是用户以交互方式执行选择操作的主要控件之一,应用十分广泛。在程序运行期间,用鼠标单击命令按钮,会触发该命令按钮的Click事件,进而执行Click事件过程中的代码。命令按钮的默认控件名为以 Command1、Command2、…。

    2、按钮常用属性

    (1)Caption:标题显示的文本内容。其值为字符型,默认属性。

    命令按钮设置快捷键:&+字母
    例如:命令按钮的Caption属性被设置为“清除(&C)”,则命令按钮表面显示为“清除C”。
    当用户按下Alt + C时,相当于选择该按钮。

    (2)Enabled:决定一个对象能否响应用户操作产生的事件。
       设置为True,响应键盘及鼠标事件(默认值)
       设置为False,表面呈灰色,禁止响应键盘及鼠标事件
    (3)Style:设置控件的外观是标准的文本样式,还是图形样式。
       0 - 文本样式(默认值)

       1 - 图形样式,文本和图形均可显示 

    (4)Picture:设置命令按钮表面显示的图形。

        当Style为1时,该属性才起作用
    (5)DownPicture: 当按下鼠标键时,命令按钮表面显示的图形。
        当Style为1时,该属性才起作用。
    (6)DisabledPicture:当命令按钮暂不起作用时,命令按钮显示的图形。

        当Style为1,并且Enabled为False时,该属性才起作用。

    3、按钮常用事件

    命令按钮控件的最主要、最常用的事件是Click事件。当鼠标单击命令按钮时,就会触发Click事件,转而执行Click事件中的程序。


    案例:用户登录(标签、文本框和按钮)


    输入错误的用户名:

    输入正确的用户名,输入错误的密码:

    六、图片框与图像框

    图片框(PictureBox)和图像框(Image)都具有显示图形图像的功能,可以加载到这两个控件上的图形文件有:   位图文件(.bmp)、图标文件(.ico)、JPEG文件、GIF文件。

    1、图片框属性

    (1)Picture:设置在控件内显示的图像,默认属性
    (2)AutoSize:决定图片框控件是否自动调整以适应图片的大小(图片不变)。
      设置为True,则调整自身大小适应图片
      设置为False,则载入图片从图片框的左上角开始显示

    2、图像框属性

    (1)Picture:设置在控件内显示的图像,默认属性
    (2)Stretch:决定图片是否自动调整以适应图像控件的大小(可能会导致图片变形)。
      设置为True,则会自动调整图片的大小将就图像框
      设置为False,则自动调整图像框大小显示完整图片
      利用Stretch属性可以实现图片的放大与缩小。

    3、图像框与图片框的区别

    (1)图片框控件可以作为其他控件的容器,图像框则不可以。
    (2)图片框可以使用Print方法和绘画语句,而图像框则不可以。
    (3)图像框比图片框占用的内存少,显示速度快。
    (4)图像框具有Stretch属性,若设置为True,是保持自身尺寸不变,通过挤压或拉伸载入的图片,使图片装满图像框。图片框具有AutoSize属性,若设置为True,则是通过改变自身的尺寸来适应载入的图片。

    4、图片框和图像框的事件和方法

    图片框可以响应Click、DblClick、Change等事件。图片框的方法与窗体几乎相同:Print、Cls、TextHeight、TextWidth、PSet、Line、Circle。在图片框中调用这些方法时,不能省略对象名,否则会被误认为是在窗体上调用这些方法。

    用Cls方法可以清除Print、PSet、Line、Circle等方法在图片框中输出的文字和图形信息,不能清除Picture属性中的图形,在图片框中加载的图片只能用不带参数的LoadPicture函数清除。
    图像框(Image)虽然也有各种事件,但实际应用中很少涉及到,一般不要求为之编写事件过程代码。

    案例:交换图片

    运行程序:

    单击【加载图片】按钮:

    单击【交换图片】按钮:

    案例:图片框与图像框比较

    图片文件放在工程所在目录:

    编写窗体加载事件过程,设置图片框与图像框的属性,给两个图片框与两个图像框加载图片:

    运行程序,观察效果:

    七、单选按钮与复选框

    复选框(CheckBox)和单选按钮(OptionButton) 是应用程序的用户界面上常用的两类控件。这两类控件单个使用通常是没有意义的,实际应用中总是成组出现。

    复选框:用于从一组选项中选择所需的多个选项。复选框的默认控件名为Check1、Check2…

    单选按钮:只能在一组选项中选择其中的一项。单选按钮的默认控件名为Option1、Option2…

    1、单选按钮与复选框常用属性

    (1)Value:设置或返回选择的状态。复选框和单选按钮的默认属性均为Value。

    (2)Caption:在控件表面显示的文本内容。用法与命令按钮类似。
    (3)Enabled:决定对象的有效性。能否响应用户操作产生的事件。
       True - 控件起作用(默认值)
       False - 在控件的表面显示的文本为灰色(或暗淡字体),此时控件暂不起作用。
    (4)Style设置控件的外观是标准的文本样式,还是图形样式。 用法与命令按钮类似。


    0 - 标准风格 

    1 - 图形风格 控件的Picture、DownPicture和DisabledPicture 属性有效,这样就能像命令按钮一样,用图形代表不同的状态。

    2、单选按钮与复选框常用事件

    单选按钮和复选框的最常用事件是Click事件。

    单选按钮案例演示:

    复选框案例演示:

    八、列表框与组合框

    (一)列表框

    1、列表框概述

    列表框以列表形式显示多个数据项,供用户选择,实现交互操作。
    如果列表中的数据项较多,超过设计时给定的长度,不能一次全部显示,就会自动添加滚动条。
    但是,用户只能从列表中选择所需的数据项,而不能直接修改其中的内容。

    2、列表框常用属性

    (1)Text:存放被选定选项的文本内容。可在程序中引用该属性以获得当前选定的数据项的内容。该属性是只读的,只能在程序运行期间引用。
    (2)
    List:是一个字符串数组,用来存放列表框中的数据选项。List数组下标编号从0开始。
      List (0) 存放第1个数,List (1) 存放第2个数,依此类推……
      List属性可以在设计阶段通过属性窗口设置,也可以在程序运行期间添加、删除或引用。其访问格式为:
      <object>.List(下标) 

    (3)ListCount:表示列表框的选项总数,只能在程序运行期间设置或引用,设计阶段无效。
    (4)
    ListIndex:表示程序运行期间被选定的选项的序号。由于序号是从0开始编起的,因此最后一个选项的序号为ListCount-1,只能在程序运行期间设置或引用,设计阶段无效ListIndex为-1时,表明用户没有选择列表项。
    (5)Sorted:决定程序运行期间列表框的选项是否按字母顺序排列。如果Sorted属性为True,则选项按字母顺序排列显示;如果为False,则按选项加入的先后顺序排列,只能在设计阶段设置。

    (6)MultiSelect 决定用户是否可以在一个控件中做多重选择。0表示不允许;1表示简单复选(用空格或鼠标选取;2表示扩展复选(可用shift+Ctrl等组合键)。该属性必须在设计阶段设置,运行时只能读取该属性。
    (7)
    Selected 是一个逻辑型数组,表示对应的选项在程序运行期间是否被选中。当数组元素的值为True时,表明选择了List属性的对应项;若为False,则表示对应项未被选择。可向Selected属性的某个元素赋值,也可以指定或取消选择。访问格式为:<object>.Selected(下标) = True | False

    (二)组合框

    1、组合框概述

    组合框是一种兼具文本框和列表框特性的控件,是由一个文本框和一个列表框组合而成的,允许用户通过键入文本或选择列表两种方法来进行选择。

    2、组合框三种样式

    组合框常用的属性、方法与列表框类似,组合框有三种不同的样式,由Style属性值决定,组合框的三种样式。 
    Style属性:0 - 下拉组合框、1 - 简单组合框、2 - 下拉列表框

    (三)列表框与组合框常用事件

    列表框能够响应Click和DblClick事件。所有类型的组合框都能响应Click事件,但只有简单组合框(Style属性为1)才能接受DblClick事件。通常情况下,列表框和组合框的主要作用是通过它们的Text属性为应用程序的其它部分提供被选择的信息,程序员一般不需要为列表框和组合框编写事件过程代码。

    列表框案例:选择水果

    1、创建工程,更名为“列表框演示——选择水果”

    2、添加三个按钮

    (1)第一个按钮名称设置为“cmdSelect”,标题设置为“选择(&S)”

    (2)第二个按钮名称设置为“cmdReset”,标题设置为“复位(&R)”

    (3)第三个按钮名称设置为“cmdExit”,标题设置为“退出(&X)”

    3、添加一个列表框

    (1)列表框名称属性设置为“lstFruit”

    (2)列表框MultiSelect属性设置为1——Simple

    (3)列表框Style属性设置为1——Checkbox

    4、添加一个显示用户选择结果的文本框

    (1)文本框名称设置为“txtResult”

    (2)文本框Text属性设置为空

    (3)文本框MultiLine属性设置为True

    (4)文本框ScrollBars属性设置为2——Vertical

    (5)文本框Locked属性设置为True——用户不能编辑

    5、在窗体加载事件里给列表框添加列表项

    6、编写【选择】按钮单击事件处理代码

    7、编写【复位】按钮单击事件处理代码

    8、编写【退出】按钮单击事件处理

    9、运行程序,测试效果

    组合框案例:

    九、滚动条

    滚动条(ScrollBar)在Windows的工作环境中,经常可以见到。
    滚动条的组成:滚动条两端的滚动箭头、滚动条上的滚动块。
    Visual Basic在工具箱中提供:水平滚动条(HScrollBar)、垂直滚动条(VScrollBar)。
    二者只是表现形式不同,其实功能是完全一样的,用户可以根据界面设计的需要选择适当样式的滚动条。

    1、滚动条常用属性

    (1)Value:滚动条中滚动块当前位置的整数值。
    当用户拖动滚动块,或单击滚动条两端的滚动箭头时,Value属性值随之改变。
    在程序中改变Value属性赋值,可改变滚动块的位置。

    (2)Max、Min:设置滚动条所能表示的最大范围(极限取值范围为-32768 ~ +32767)。
    当滚动块位于水平滚动条最右端或垂直滚动条最下端时,Value属性的值即为Max属性的值。
    当滚动块位于水平滚动条最左端或垂直滚动条最上端时,Value属性的值即为Min属性的值。

    (3)LargeChange、SmallChange:设置滚动块滚动时Value属性的增量,默认值均为1。
    LargeChange用来设置当鼠标单击滚动箭头与滚动块之间区域时Value属性的增量。
    SmallChange属性用来设置鼠标单击滚动箭头时Value属性的增量。

    2、滚动条常用事件

    (1)Change:当滚动条中的滚动块被用户改变后,会触发此事件。
        改变滚动块的方法:  拖动滚动块、单击滚动箭头、通过代码对Value属性赋值
    (2)Scroll:当用户在滚动条内拖动滚动块时,会触发此事件。

     


    十、计时器

    计时器(Timer)不仅可以准确地控制Timer事件发生间隔,也可用于显示系统时间。计时器在运行时总是不可见的,所以在设计阶段可放置在窗体的任意位置上,同时,计时器无Visible属性。

    1、计时器属性

    (1)Enabled:决定计时器是否有效。为默认属性。
      设置为True时,计时器控件可触发其Timer事件。 
      设置为False时,计时器控件不会触发其Timer事件。 
    (2)Interval:决定计时器触发其Timer事件的时间间隔。
      时间间隔的单位为毫秒(ms)。
      不为0,则表示触发其Timer事件的时间间隔为多少ms。
      若为0,则表示计时器不起作用,此时与Enabled 为False时的效果一样,不会触发Timer事件。

    2、计时器事件

    计时器控件只在一个Timer事件, 每经过一个由Interval属性指定的时间间隔就自动触发一次Timer事件。

    案例:滚动字幕

    1、创建工程,更名为“滚动字幕”,设置窗体名称与标题

    2、添加一个标签

    (1)标签名称设置为“lblMessage

    (2)标签标题设置为“二级VB培训开始咯!”

    (3)标签AutoSize属性设置为True

    (4)标签Font设置成隶书、小二号

    3、添加两个按钮

    (1)第一个按钮名称设置为“cmdStart”,标题设置为“启动(&S)”

    (2)第二个按钮名称设置为“cmdStop”,标题设置为“停止(&T)”

    4、添加定时器

     

    (1)定时器的Enabled属性设置为False

    (2)定时器的Interval属性设置为100(单位是毫秒)

    5、编写两个按钮单击事件处理代码

    6、编写定时器代码

    7、运行程序,测试效果

    十一、框架

    1、框架概述

    框架(Frame)用于窗体上的对象分组。可把不同的对象放在一个框架中,使其在视觉上进行区分,总体上被激活或被屏蔽。框架实际上是一个容器。所谓容器,就是可以在其上放置其它控件对象的一种对象。容器内的所有控件成为一个组合,随容器一起移动、显示、隐藏等,若将框框架的Visiable属性设置为False,则框架及在它内部的所有控件在程序运行时均不可见。在已介绍的控件对象中,窗体就是一种容器,另外,图片框也是一种容器。通常用框架将每一组单选按钮框起来,使得同一框架内的单选按钮成为一组,每一组单选按钮的操作均不会影响到其它组的单选按钮的选择。

    2、框架常用属性

    (1)Caption:显示位于框架左上角的标题,用于表明框架的作用。
    (2)Enabled:决定框架中的对象是否可用。
      True - 框架及框架中的所有控件在程序运行时均处于可用状态(默认值)
      False - 框架及框架中的所有控件在程序运行时均处于不可用状态

    十二、形状控件

    1、Shape概述

    利用Shape控件可以绘制基本几何图形:矩形、正方形、椭圆、圆、圆角矩形和圆角正方形。

    2、常用属性

    (1)Shape属性

    Shape属性有6个值,为0~5,分别表示矩形、正方形、椭圆形、圆形、圆角矩形和圆角正方形六种形状。默认形状为矩形,值为0。

    (2)BackStyle属性

    0 - Transparent 透明

    1 - Opaque 不透明

    (3)FillStyle属性

    比如FillStyle设置为6,效果如下:

    案例:展示六种基本形状以及交替显示两种图形

    (1)创建工程,更名为“形状控件演示”

    添加一个框架,在框架里添加六个Shape控件,都改名为MyShape,构成控件数组。

    将六个形状控件的Shape属性依次设置为0、1、2、3、4、5。

    在窗体里添加一个形状控件Shape1和一个定时器控件Timer1。

    (2)编写事件处理代码

    (3)运行程序,查看效果

    大家可以看到,交替显示正方形和圆,每秒钟交替一次。

    十三、焦点与Tab顺序

    1、焦点

    一个窗体上可以添加多个控件,但最多只允许一个控件能够接受键盘输入。这个能处理键盘事件的控件称为“拥有焦点”。原先不拥有焦点的对象,现在能够接受键盘输入了,称为“获得焦点”,同时触发GotFocus事件;反之,则称为“失去焦点”,同时触发LostFocus事件。例如:在用户界面上,若某个文本框中有表示插入点的竖线在闪动,则表示该文本框拥有焦点。

    要将焦点移到指定的对象上,可使用SetFocus方法。
    SetFocus方法适用于大部分可见控件,其代码格式:<Object.> SetFocus
    例如:将焦点移到文本框Text1上,使用代码为:Text1.SetFocus

    2、Tab顺序

    利用键盘上的Tab键,可以使焦点在不同对象之间按TabIndex 属性指定的顺序依次转移。但是,如果某个对象的TabStop属性设置为False,利用Tab键转移焦点时将跳过该对象。

    十四、综合案例:个人信息注册

    1、创建工程,修改名称为“个人信息注册”,窗体名称设置为“frmRegistration”,StartUpPosition设置2

    2、添加两个框架Frame1和Frame2

    Frame1的Caption设置为“注册个人信息”,Frame2的Caption设置为空。

    3、在Frame2里添加三个按钮

    (1)修改三个按钮名称

    cmdRegistrate、cmdReset、cmdExit

    (2)修改三个按钮标题

    (3)将注册按钮设置为默认按钮

    4、在框架Frame1里添加一个标签和一个文本框

    (1)标签的标题设置为“用户名:”

    (2)文本框的名称设置为txtUsername,Text属性设置为空,TabIndex设置为0

    5、编写注册按钮cmdRegistrate的单击事件处理代码

    6、运行程序,测试一下效果

    输入一个用户名:张三丰,然后单击【注册】按钮:

    7、添加一个标签和两个单选按钮

    (1)标签的Caption设置为“性别”

    (2)第一个单选按钮名称设置为optMale,Caption设置为“男”,Value属性设置为True

    (3)第二个单选按钮名称设置为optFemale,Caption设置为“女”

    8、修改【注册】按钮单击事件处理代码

    9、运行程序,测试效果

    输入姓名“陈玉莲”,性别设置为“女”:

    10、在框架Frame1里添加一个标签和三个复选框

    (1)标签的AutoSize设置为True,标题设置为“爱好”

    (2)第一个复选框名称设置为“chkBook”,标题设置为“阅读”

    (3)第二个复选框名称设置为“chkTravel”,标题设置为“旅行”

    (4)第三个复选框名称设置为“chkMusic”,标题设置为“音乐”

    11、修改【注册】按钮单击事件处理代码

    12、运行程序,测试效果

    13、在框架Frame1里添加一个标签和一个列表框

    (1)标签的标题设置为“城市”

    (2)列表框的名称设置为“lstCity”

    (3)列表框的list属性设置为“北京,上海,广州,深圳,泸州”

    14、在窗体加载事件Form_Load()里给城市列表控件再添加三个列表项

    15、运行程序,看看城市列表框里是否有8个城市

    16、修改【注册】按钮单击事件处理代码

    对于单选列表框,没有必要通过上述循环嵌套选择的方式来获取用户选择的列表项,只需ListIndex属性即可,但是对于多选列表框,就需要上述方式才能获取用户选择的多个列表项,可以参看前面的列表框案例:选择水果。注意:ListIndex是从0开始的,比如用户选择了列表框的第1项,那么ListIndex为0,用户选择了列表框的第4项,那么ListIndex为3。即ListIndex = 选中的列表项的序号 - 1。0 <= ListIndex <= ListCount - 1。

    代码简化如下:

    17、运行程序,看看效果

    18、在框架Frame1里添加一个标签和一个组合框

    (1)标签的标题设置为“职业”

    (2)组合框的名称设置为“cboCareer”

    (3)设置组合框的List属性,添加4项内容:医生、教师、律师和公务员

    (4)组合框的Text属性设置为“医生”

    (5)组合框的Style属性设置为2——Dropdown List(下拉列表框),只能选择,不能输入

    19、在窗体加载事件里给组合框再添加3项内容

    20、修改【注册】按钮单击事件处理代码

    21、运行程序,测试效果

    22、 编写【重置】按钮单击事件处理代码

    23、编写【退出】按钮单击事件处理代码

    展开全文
  • Winform怎样一个窗体中获得另一个窗体中控件的值? 有两个窗体:一个是Form1.cs的主窗体,另一个是Login.cs的登录窗口,现在login.cs窗口有一个combobox控件(JSXZ),想Form1.cs获取它的值,应该...
    Winform中怎样在一个窗体中获得另一个窗体中的控件的值?

    有两个窗体:一个是Form1.cs的主窗体,另一个是Login.cs的登录窗口,现在在login.cs窗口中有一个combobox控件(JSXZ),想在Form1.cs中获取它的值,应该怎样做?

    请多指教/
     
     
    • Neil198用户头像
    • Neil198
    • (劳驾借过!不借!)
    • 等 级:
    #1楼 得分:2回复于:2010-09-15 10:40:54
    在login.cs里面定义一个属性访问器

    C# code
    private string _cmbSelValue = ""; public string CmbSelValue { get{return combobox.SelectedText;}//or combobox.SelectedItem……………… } 如果想要获得整个控件就直接把string 改成Combobox类型
     
    #2楼 得分:2回复于:2010-09-15 10:47:01
    自己写一个帮助类,将值先给帮助类成员,在到需要的地方调用
     
    #3楼 得分:2回复于:2010-09-15 10:48:29
    在login窗体中将comboBox声明改为public试试。或者再绕点,在login里面public一个变量,将SelectedItem的值赋给它。楼上的比较高级,一会俺试试。
     
    #4楼 得分:0回复于:2010-09-15 10:49:25
    “帮助类”,怎样写啊。。。
     
    #5楼 得分:2回复于:2010-09-15 10:52:39
    写一个公共属性类,Login.cs中combobox的有他对应的属性值,只要combobox值发生改变都会改变属性值,在Form1中直接取公共属性类中对应的combobox值
     
    #6楼 得分:2回复于:2010-09-15 10:55:03
    第一种,在Loginfrm中写一个公共属性


    public class Loginfrm:form
    {
      private string _cmbvalue=string.Empty;
       
      public CmbValue
      {
      set{_cmbvalue=value;}
      get{return _cmbvalue;}
      }

    }

    在frm1中,
    Loginfrm frm=new Loginfrm();
    //显示frm,
    string value=frm.CmbValue;



    第二种,放一个静态属性,放到应用程序主类,或者其它公共类中
    namespace aa.App
    {
      static class Program
      {
      public static string LoginFrmCmbValue= string.Empty;
      /// <summary>
      /// 应用程序的主入口点。
      /// </summary>
      [STAThread]
      static void Main()
      {
    }

    //在LoginFrm中,更改时,更改
    Program.LoginFrmCmbValue="值";

    在主窗体中,直接用Program.LoginFrmCmbValue获取值
     
    #7楼 得分:2回复于:2010-09-15 10:55:26
    引用 1 楼 neil198 的回复:
    在login.cs里面定义一个属性访问器


    C# code

    private string _cmbSelValue = "";
    public string CmbSelValue
    {
    get{return combobox.SelectedText;}//or combobox.SelectedItem………………
    }

    如果想要获得整个控件就直接把string 改……


    +1
     
    #8楼 得分:2回复于:2010-09-15 10:56:34
    我学C#的时候是直接定义一个public的全局量
    然后赋值
    这样哪个窗体都能通过这个量来得到值

    比较笨的方法
     
    #9楼 得分:2回复于:2010-09-15 11:08:08
    设置个PUBLIC全局变量 A窗体
      int index1 = 0;//dataGridView1中ID列的索引
     string Id = dataGridView2[index1, dataGridView2.SelectedCells[0].RowIndex].Value.ToString();
    B b=new B(id)
    b.show();

    B窗体
    PUBLIC INT ID;
     
    #10楼 得分:0回复于:2010-09-15 11:37:17
    在下整了个公共类,如下:namespace tsleyyg.App_Help
    {
      class Tfvalue
      {
      public static string val = string.Empty;
      }
    }
     
    #11楼 得分:4回复于:2010-09-15 16:03:26
    我觉得你问的这个问题是关于两个窗体间传值的问题,基本有三中方式.
    不过你这种情况,最好使用类似session 的方法

    首先,在登陆窗体中将用户名和密码保存到一个对象中 userInfo,包括用户名和密码

    public class UserInfo
    {  
      public string _userName;
      public string _userPassword;
      public UserInfo(string userName,string userPassword)
      {
      _userName=userName;
      _userPassword = userPassword;
      }
    }
    UserInfo userInfo = new UserInfo("张三","123456");
    AppDomain.CurrentDomain.SetData("UserInfo",userInfo)

    然后,在该进程中(单程序域进程),所有窗体或其他类对象中都可以这样获得该对象

    UserInfo temp = (UserInfo)AppDomain.CurrentDomain.GetData("UserInfo");
    展开全文
  • 本节书摘来自异步社区《Visual Basic 2012入门经典》一书的第1章,第5节...1.5 在窗体中添加控件 Visual Basic 2012入门经典设置窗体的初始属性后,现在通过在窗体中添加对象来创建用户界面。可置于窗体中的对象被...

    本节书摘来自异步社区《Visual Basic 2012入门经典》一书中的第1章,第5节,作者: 【美】James Foxall,译者: 翟剑锋 , 更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.5 在窗体中添加控件

    Visual Basic 2012入门经典
    设置窗体的初始属性后,现在通过在窗体中添加对象来创建用户界面。可置于窗体中的对象被称为控件。有些控件有可见的界面,用户可与之进行交互;而另外一些控件对用户总是不可见的。本示例将使用这两种控件。屏幕的左边是标题为“Toolbox”的竖直选项卡,单击“Toolbox”选项卡显示“Toolbox”窗口以显示最常用的控件;如果有必要,单击“Common Controls”,如图 1.8 所示。工具箱包含可用于项目中的所有控件,如标签(Label)和文本框。

    添加控件到窗体后,如果鼠标指针不在工具箱上,工具箱将立即关闭。为使工具箱保持可见,甚至当你单击其他地方时工具箱也可见,可单击“Toolbox”标题栏中的图钉图标。

    现在不要求您添加控件,但图片查看器界面将包含以下控件。

    两个Button控件:在很多Windows程序中可单击的标准按钮。
    一个PictureBox控件:用于向用户显示图像的控件。
    一个OpenFileDialog控件:执行Windows“Open File”对话框功能的隐藏控件。


    0fa41763c4d52b6869522196469bb0141503f7f9

    本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

    展开全文
  • 今天敲代码的过程遇到一个问题,新建了一个包含母版页的web窗体,但是发现里面的控件都用不了,也就是窗体中的按钮点击不了,也获取不到textbox的值 后来经过我上网的搜索 发现欧,原来是我母版页有自己添加...

    今天敲代码的过程中遇到一个问题,新建了一个包含母版页的web窗体,但是发现里面的控件都用不了,也就是窗体中的按钮点击不了,也获取不到textbox中的值
    后来经过我上网的搜索
    发现欧,原来是我母版页中有自己添加form标签。于是我把form标签删除。发现可以了

    展开全文
  • WinForm常用窗体属性及控件

    千次阅读 2015-12-27 15:56:14
    WinForm常用窗体属性: Form常用属性 AutoSizeMode属性 :值是: GrowAndShrink不能调整窗体大小 ;值是:GrowOnly 可以改变大小 (1)Name属性:用来获取或设置窗体的名称。 (2)...
  • 压缩包中包含源码,主要功能是:搜索框输入你想遍历的窗体标题所包含的字符,然后点击搜索,MEMO框就能显示出这个窗体中所有的控件
  • 一、控件含义 C#可视化界面(WinForm)的组件统称为...二、常用的Windows窗体控件 控件名称 含义 Label 标签控件 LinkLabel 链接标签控件 Button 按钮控件 TextBox 文本框控件 Radio...
  • 在窗体中加上如下代码即可实现,但窗体点击放大按钮时却不能改变控件大小。private Size beforeResizeSize = Size.Empty;protectedoverridevoid OnResizeBegin(EventArgs e) { base.OnResizeBegin(e); ...
  • delphi 开发的应用,每一个窗体都有一个对应的窗体文件(.dfm),用来记录该窗体的属性以及窗体上所有控件的属性,以便在窗体关闭后能准确地重新生成窗体。几乎所有的DELPHI参考书都没有提到过该文件的具体情况,...
  • //显示窗体中所有控件的函数function GetCtrls(Control: TWinControl; List: TStringList): Boolean;var i: Integer; obj: TWinControl;begin for i := 0 to Control.ControlCount-1 do begin obj := ...
  • 项目需要winform窗体中内嵌浏览器控件,用于显示PLC的网页版可视化界面 由于网页是HTML5的,VisualStudio自带的webbrowser不支持,选用后打开网页报错如下图 尝试了WebKit.WebKitBrowser网页依旧不能够正常...
  • 主要介绍了WinForm遍历窗体所有子控件的方法,涉及C#递归遍历相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • //当有多个窗体时,对顶层的窗口进行操作,例如:我们开发具有录入功能的界面的时候,为了防止提交后的二次(重复)录入,希望点击提交按钮并提示成功后,界面的所有文本框内容能够自动清空.NET Framework 类库 Form...
  • 源自:https://msdn.microsoft.com/zh-cn/library/s9e4wde1默认情况下,Windows 窗体 RichTextBox 控件在必要时会显示水平和垂直滚动条。 RichTextBox 控件的 ScrollBars 属性有七个可能的值,下面的表对这些值...
  • 学习目标:VB.NET利用Controls属性获取窗体控件列表练习平台:Windows10企业版(64位)测试工具:MicrosoftVisual Studio(版本默认安装)。程序语言:VB.NET通过窗体的Controls属性实现,参考代码: Try For i = ...
  • WinForm窗体中的ComboBox控件是有TextBox控件和ListBox控件组合而成,其本身是不能自定义高度的只能根据字体的大小而自动生成高度。另外,选中后的选项文本ComboBox显示默认是依靠ComboBox的Top边和Left边来定位...
  • Power Apps 编辑窗体和显示窗体控件 目录 Power Apps 编辑窗体和显示窗体控件 描述 选择记录 创建记录 保存更改 实操记录&问题 成功案例 失败案例【待解决 在线等】 ...
  • Tap控件的子窗体及相关控件随同主窗体大小变化而变化, 主窗体控件随之改变大小.
  • 注意,除了本节所包含的 Windows 窗体控件之外,还可以向 Windows 窗体添加 ActiveX 控件和自定义控件。如果这里列出的控件没有找到需要的控件,还可以创建自己的控件。有关详细信息,请参见 Windows ...
  • 今天结合自己以前搜集的一些资料简单总结下Winform窗体常用控件使用及其属性、方法、事件等…… 一、按钮(Button)控件  几乎存在于所有Windows对话框,是Windows应用程序常用控件之一。按钮控件允许...
  • 这几天优化程序的时候发现了一个问题,就是MDI窗体中的子窗体被激活显示出来之后,总是被主窗体中控件遮挡(各种控件)。解决的方法也试了很多但是都不是很满意,由于C#的WINFROM窗体没有SETPARENT的方法,...
  • 主要介绍了C#递归遍历窗体所有textbox控件并设置textbox事件的方法,包括针对textbox控件的递归遍历技巧与事件方法的设置技巧,需要的朋友可以参考下
  • ViewModel里设置Textbox焦点(focus)》一文记录了如何VM设置对象焦点的过程,但今天发现FocusChildWindow子窗体里面不起作用,经过测试,此问题可通过重载ChildWindow的OnOpened事件来解决,因为...
  • WPF驻留Windows窗体控件虽然WPF已经提供了很多元素可供我们使用,使我们能够编出一个完美的程序。但是当我们想用以前已经开发好的winform控件时,如果把它们转换成WPF控件,将会消耗很多精力和成本。尤其是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,952
精华内容 25,980
关键字:

在窗体中常用的控件包括