标签
⒈ 标签的属性
常用属性:
⑴ Text
⑵ TextAlign
⑶ Autosize
⑷ BorderStyle
⑸ Enabled
⑹ Image
其他:BackColor、ForeColor、Font、Height、Left、Name、Top、Visible、Width等。
⒉ 标签的事件和方法:Click和DblClick事件。
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
文本框
⒈ 文本框属性
⑴ MaxLength
⑵ Multiline
⑶ PassWordChar
⑷ ScrollBars
⑸ Text
⑹ Locked
⑺ TextAlign
⑻ ReadOnly
⑼ WordWrap
⒉ 文本框事件
⑴ TextChanged事件
⑵ LostFocus事件
⑶ GotFocus事件
⒊ 文本框方法
Focus是文本框中常用的方法:[对象.]Focus
编写程序,用文本框检查口令输入。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
me.Show()
me.Text = "输入口令"
Button1.Text = "检查口令"
TextBox1.Text = ""
TextBox1.PasswordChar = "*"
TextBox1.Focus()
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "123456" Then
MsgBox("口令正确,继续执行", , "")
End
Else
MsgBox("口令不对,请重新输入", , "")
TextBox1.Text = "“
TextBox1.Focus()
End If
End Sub
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
图形控件
图片框的主要属性
⒈ 与窗体属性相同的属性
⒉ Image属性
⒊ BorderStyle属性
⒋ SizeMode属性
图形文件的装入
⒈ 在设置阶段装入图形文件
⑴ 用属性窗口中的Image属性装入。
⑵ 利用剪贴板把图形粘贴(Paste)到图片框中。
⒉ 在运行期间装入图形文件
可以用Image.FromFile方法把图形装入图片框中。Image.FromFile方法的功能与Image属性基本相同,即用来把图形文件装入图片框,其一般格式为:
图片框名.Image=Image.FromFile(″文件名″)
编写程序,交换两个图片框中的图形。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox2.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox3.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox1.Image = Image.FromFile("f:/vb.app/ch07/fll.jpg") '''''''''''''''''''''''''
PictureBox2.Image = Image.FromFile("f:/vb.app/ch07/mll.jpg")''''''''''''''''''''''''
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
PictureBox3.Image = PictureBox1.Image
PictureBox1.Image = PictureBox2.Image
PictureBox2.Image = PictureBox3.Image
'隐藏第三个图片框
PictureBox3.Visible = False
End Sub
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
按钮控件
属性和事件
⒈ Text属性
⒉ FlatStyle属性
⒊ Image属性
⒋ BackGroundlmage属性
⒌ ImageAlign属性
⒍ TextAlign属性
编写程序,模拟交通信号灯的切换。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox2.Visible = False
PictureBox3.Visible = False
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If PictureBox1.Visible = True Then
PictureBox1.Visible = False
PictureBox2.Visible = True
ElseIf PictureBox2.Visible = True Then
PictureBox2.Visible = False
PictureBox3.Visible = True
Else
PictureBox3.Visible = False
PictureBox1.Visible = True
End If
End Sub
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
选择控件——复选框和单选按钮
复选框和单选按钮的属性和事件
⒈ 属性
⒉ CheckedState属性(用于复选框)
⒊ Checked属性(用于复选框和单选按钮)
⒋ Apperence属性(用于复选框和单选按钮):Normal常规外观/Button按钮式外观
⒌ FlatStyle属性(用于复选框和单选按钮)
事件:change事件和click事件
在窗体建立一个文本框和两个复选框,其标题分别为“体育”和“音乐” 。
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click
If CheckBox1.Checked And CheckBox2.Checked = False Then
TextBox1.Text = "我的爱好是体育"
End If
If CheckBox2.Checked And CheckBox1.Checked = False Then
TextBox1.Text = "我的爱好是音乐"
End If
If CheckBox1.Checked And CheckBox2.Checked Then
TextBox1.Text = "我的爱好是体育和音乐"
End If
If CheckBox1.Checked = False And CheckBox2.Checked = False Then
TextBox1.Text = ""
End If
End Sub
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
选择控件——列表框和组合框
1.列表框属性
⑴ Items:该属性用来列出表项的内容。
⑵ Items.Count:该属性列出列表框中表项的数量。
⑶ SelectedIndex:该属性的设置值是已选中的表项的位置。
⑷ SelectionMode:该属性用来设置一次可以选择的表项数。
⑸ GetSelected:当一个元素的值为True时,表明选择了该项;如果为False则表明未选择。
⑹ Sorted:该属性用来确定列表框中的项目是否按字母数字升序排列。
⑺ Text:该属性的值为最后一次选中的表项的文本,不能直接修改Text属性。
⑻ MultiColumn:该属性用来设定列表框中项目的显示方式,即以多列方式显示或以单列方式显示。
⑼ ColumnWidth:当MultiColumn属性被设置为True时,可以用该属性设定列表框的列宽度,以像素为单位。
⒉ 列表框事件:Click、DblClick、GotFocus和LostFocus事件。
⒊ 列表框方法
⑴ Items.Add。该方法用来在列表框中插入一行文本。
⑵ Items.Clear。该方法用来清除列表框的全部内容 。
⑶ Items.Remove。用该方法可以删除列表框中指定的项目。
⑷ Items.RemoveAt。该方法用来删除列表框中指定的项目。
交换两个列表框中的项目。其中一个列表框中的项目按字母升序排列,另一个列表框中的项目按加入的先后顺序排列。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As Integer
ListBox1.Items.Add("IBM")
ListBox1.Items.Add("Compaq")
ListBox1.Items.Add("HP")
ListBox1.Items.Add("FUJI")
ListBox1.Items.Add("Digital")
ListBox1.Items.Add("长城")
ListBox1.Items.Add("联想")
ListBox1.Items.Add("Canon")
ListBox1.Items.Add("四通")
ListBox1.Items.Add("Acer")
ListBox1.Items.Add("Nec")
ListBox1.Items.Add("NCR")
End Sub
Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
ListBox2.Items.Add(ListBox1.Text)
ListBox1.Items.Remove(ListBox1.SelectedItem)
End Sub
Private Sub ListBox2_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox2.DoubleClick
ListBox1.Items.Add(ListBox2.Text)
ListBox2.Items.Remove(ListBox2.SelectedItem)
End Sub
复选列表框CheckedListBox。
是对标准列表框的扩展,其功能和用法基本相同,主要有以下两点区别:
⑴ 在表项的左侧显示复选框标记。
⑵ 在复选列表框中不能使用多选方式,即只能选择一项或没有任何选择。只有加了选择标记的才是被选中的项。
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
组合框(Combo Box)是组合列表框和文本框的特性而成的控件。
⒈ 组合框属性:列表框的属性基本上都可用于组合框,此外它还有自己的一些属性。
⑴ DropDownStyle:DropDown下拉式组合框/Simple简单组合框/DropDownList下拉式列表框
⑵ Text。该属性值是用户所选择的项目的文本或直接从编辑区输入的文本。
⒉ 组合框事件:单击组合框中向下的箭头时,将触发Dropdown事件,该事件实际上对应于向下箭头的单击(Click)事件。
⒊ 组合框方法:Items.Add、Items.Clear和Items.Remove、Items.RemoveAt用法与在列表框中相同 。
从屏幕上选择微机的配置,并显示出来。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ComboBox1.Items.Add("IBM")
ComboBox1.Items.Add("Compaq")
ComboBox1.Items.Add("方正")
ComboBox1.Items.Add("联想")
ComboBox1.Items.Add("HP")
ComboBox1.Items.Add("Acer")
ComboBox1.Items.Add("DEC")
ComboBox2.Items.Add("奔腾4 1.0G")
ComboBox2.Items.Add("奔腾4 1.2G")
ComboBox2.Items.Add("奔腾4 1.4G")
ComboBox2.Items.Add("奔腾4 1.5G")
ComboBox2.Items.Add("奔腾4 1.7G")
ComboBox2.Items.Add("奔腾4 1.8G")
ComboBox2.Items.Add("奔腾4 2.0G")
ComboBox3.Items.Add("128MB SDRAM")
ComboBox3.Items.Add("256MB DDR")
ComboBox3.Items.Add("256MB DDR 333")
ComboBox3.Items.Add("512MB SDRAM")
ComboBox4.Items.Add("20GB")
ComboBox4.Items.Add("32GB")
ComboBox4.Items.Add("40GB")
ComboBox4.Items.Add("60GB")
ComboBox4.Items.Add("80GB")
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim S, c1 As String
c1 = Chr(13) & Chr(10)
S = "所选择的配置为:″"
S = S & c1 & "机型:″ & ComboBox1.Text"
S = S & c1 & "CPU:" & ComboBox2.Text
S = S & c1 & "内存:" & ComboBox3.Text
S = S & c1 & "硬盘:" & ComboBox4.Text
MsgBox(S, , "微机配置")
End Sub
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
滚动条:水平滚动条和垂直滚动条。滚动条的两端各有一个滚动箭头,在滚动箭头之间有一个滚动框。
⒈ 滚动条属性
⑴ Value。该属性值表示滚动框在滚动条上的当前位置。
⑵ Maximum。滚动条所能表示的最大值,取值范围为-32768~32767,默认值为100。
⑶ Minimum。滚动条所能表示的最小值,取值范围同Maximum,默认值为0。
⑷ LargeChange。当单击滚动条中滚动框前面或后面的部位,或者按下PAGE UP键或PAGE DOWN键时,Value属性值将根据LargeChange属性的设置值而更改。
⑸ SmallChange。单击滚动条两端和箭头时,Value属性值将根据SmallChange属性的设置值而更改。
⒉ 滚动条事件:Scroll和ValueChanged。
把水平滚动条的属性设置为:
LargeChange 10
Maximum 200
Minimum 0
SmallChange 2
Private Sub HScrollBar1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles HScrollBar1.ValueChanged
TextBox1.Text = Str(HScrollBar1.Value)
End Sub
Private Sub HScrollBar1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll
Label4.Text = "移动到:" & Str(HScrollBar1.Value)
End Sub
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
计时器
Visual Basic.NET中的大多数控件都是用来建立用户界面的,程序运行后,这些控件出现在窗体上,构成了用户界面。而有些控件不用来构成用户界面,程序运行后消失,这类控件称为非用户界面控件,计时器就是一种非用户界面控件。
属性
Name
Enabled
Interval以毫秒为单位,其值Integer类型。
事件
Tick。对于一个含有计时器控件的窗体,每经过一段由属性Interval指定的时间间隔,就产生一个Tick事件。
用计时器实现控件的移动。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 1000
Label1.Text = "Visual Studio.NET"
Button1.Text = "移动/停止"
Button2.Text = "退出"
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Left += 10
Label1.Left = Label1.Left Mod Me.Width
Beep() '响铃
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Enabled = Not Timer1.Enabled
End Sub
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
分组框控件
分组框(GroupBox)是一个容器控件,用于将屏幕上的对象分组。可以把不同的对象放在一个分组框中,分组框提供了视觉上的区分和总体的激活/屏幕特性。
属性:Enabled、Font、Height、Left、Top、Visible、Width、Name、Text。
编写一个“选举投票”程序。参加选举的人对候选人投票,程序统计每个候选人的标数,并输出显示结果。
Dim Num_Z, Num_L, Num_W As Integer (该语句放在窗体层)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = "选举投票"
GroupBox1.Text = "候选人"
GroupBox2.Text = "操作"
GroupBox3.Text = "显示结果"
RadioButton1.Text = "王祖英“
RadioButton2.Text = "张丽媛"
RadioButton3.Text = "江朗才子"
Button1.Text = "投票"
Button2.Text = "显示结果"
Button3.Text = "退出"
TextBox1.Text = ""
Num_Z = 0
Num_L = 0
Num_W = 0
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If RadioButton1.Checked Then
Num_Z = Num_Z + 1
End If
If RadioButton2.Checked Then
Num_L = Num_L + 1
End If
If RadioButton3.Checked Then
Num_W = Num_W + 1
End If
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim cl As String = Chr(13) & Chr(10)
Dim S As String = "选择结果:" & cl
S = S & cl & RadioButton1.Text & Str(Num_Z) & "票"
S = S & cl & RadioButton2.Text & Str(Num_L) & "票"
S = S & cl & RadioButton3.Text & Str(Num_W) & "票"
TextBox1.Text = S
End Sub
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
焦点与Tab顺序
焦点:接收用户鼠标或键盘输入的能力。当一个对象个有焦点时,它可以接收用户的输入。
当对象得到焦点时,会产生GotFocus事件;而当对象失去焦点时,将产生LostFocus事件。
可以用下而的方法设置一个对象的焦点:
?在运行时单击该对象。
?运行时用快捷键选择该对象。
?在程序代码中使用Focus方法。
可以获得焦点的控件都有一种称为“TabStop”的属性,用它可以控制焦点的移动。该属性的默认值为True,如果把它设置为False,则在用Tab移动焦点时会跳过该控件。TabStop属性为False的控件,仍然保持它在实际的Tab顺序中的位置,只不过在按Tab键时这个控件被跳过。
在设计阶段,可以通过属性窗口的TabIndex属性来改变Tab顺序。不能获得焦点的控件以及无效的和不可见的控件不具有Tabindex属性,因而不包含在Tab顺序中,按Tab键时,这样的控件将被跳过。
'
'---------------------------------|||无敌分割线|--------------------------------------------------------------------
'
键盘和鼠标
1.KeyPress事件
KeyPress事件只对会产生ASCII码的按键有反应,包括数字、大小写字母、Enter、BackSpace、Esc、Tab等键。
KeyPress事件处理程序接收一个KeyPressEventArgs类型的参数(参数e),它含有与此事件相关的数据。在KeyPress事件中,主要使用KeyPressEventArgs的KeyChar属性。当执行KeyPress事件过程时,KeyChar是与按键所对应的字符。
编写口令程序。
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = "输入口令"
Label1.Text = ""
Label1.BorderStyle = BorderStyle.Fixed3D
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Static pword As String
Static counter As Short
Static number As Short
number += 1
If number = 12 Then End
counter = counter + 1
pword = pword + e.KeyChar
Label1.Text += "*"
If LCase(pword) = "abcd" Then
Label1.Text = ""
pword = 0
MsgBox("口令正确,继续...", , "")
counter = 0
MsgBox("Continue......", , "")
ElseIf counter = 4 Then
counter = 0
pword = ""
Label1.Text = ""
MsgBox("口令不对,请重新输入", , "")
End If
End Sub
⒉ KeyUp和KeyDown事件
当控制焦点在某个对象上,同时用户按下键盘上的任一键,便会引发该对象的KeyDown事件,释放按键便触发KeyUp事件。
两个事件过程的参数相同,其中第二个参数用来测试按键,该参数的类型为KeyEventArgs,它含有与此事件相关的数据。包括:
⑴ Alt:是否按下ALT键。
⑵ Control:是否按下Ctrl键。
⑶ Handled:是否处理过此事件。
⑷ KeyCode:按键实际的ASCII码。
⑸ KeyData:获取键数据。
⑹ KeyValue:获取键值。
⑺ Modifiers:获取转换标志,用来确定是否按了转换键Ctrl、Shift或Alt。
⑻ Shift:判断是否按下Shift键。
KeyDown是当一个键被按下时所产生的事件,而KeyUp是松开被压下的键所产生的事件。利用参数e,可以判断按下的具体的键,如果不使用参数e,则泛指键盘上的任何键。
编写一个程序,当按下键盘上的某个键时,输出该键的KeyCode码。
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Static i As Short
i = i + 1
If i Mod 10 = 0 Then
Debug.Write(Chr(e.KeyCode) & "-" & Hex(e.KeyCode) & " ")
Debug.WriteLine("")
Debug.WriteLine("")
ElseIf e.KeyCode = 13 Then
i = 0
Debug.WriteLine("")
Debug.WriteLine("")
Else
Debug.Write(Chr(e.KeyCode) & "-" & Hex(e.KeyCode) & " ")
End If
End Sub
鼠标事件
除了Click(单击)和Dblclick(双击)之外,重要的鼠标事件还有:
⒈ 压下、松开和移动鼠标
MouseDown事件:当鼠标的任意一个按钮按下时被触发。
MouseUp事件:当鼠标的任意一个按钮释放时被触发。
MouseMove事件:当鼠标移动时被触发。
三个鼠标事件过程具有相同的参数,鼠标的当前状态由第二个参数 e的属性决定。
鼠标位置由参数e的X、Y属性确定,这两个属性都是Integer值,其中e.X用来获取鼠标单击时的X坐标,而e.Y用来获取鼠标单击时的Y坐标。这里的X、Y不需要给出具体的数值,它随鼠标光标在窗体上的移动而变化。
编写程序,在窗体上移动鼠标,如果压下鼠标按钮,则在文本框中显示鼠标光标的当前位置;如果不压下鼠标按钮,则在移动鼠标时不显示鼠标当前位置。
在窗体上画一个文本框,然后编写如下事件过程:
Dim paintnow As Boolean '窗体层变量
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
paintnow = True
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
paintnow = False
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If paintnow Then
TextBox1.Text = "鼠标当前位置是:" & Str(e.X) & "," & Str(e.Y)
End If
End Sub
⒉ MouseEnter和MouseLease事件
当鼠标光标移入一个控件时,发生该控键的MouseEnter事件;当鼠标光标移出一个控件时,将发生该控件的MouseLease事件。
在Windows的各种工具栏中,当鼠标光标位于某个工具按钮上时,将显示该按钮的名称或简要说明。利用MouseEnter和MouseLease事件,可以很容易地实现类似操作。本书限于篇幅,我们这里不再举例说明。