第一讲
控件
lebal:标签,一般后面要配以文本框;
textbox:文本框
button:按钮
timer:时钟,是时间成为时间驱动的
属性:text(lable,button要显示的文本,为字符串类型,若要计数,需要转换成int,TextBox1.Text = Int32.Parse(TextBox1.Text) + 1)
name:在代码中控件显示的名字,一般双击鼠标就代码就指到相应的位置
enable:timer的驱动性质,设置为true
visible:button的可见性
size:控件的大小
功能:
(1) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
MessageBox.Show("我被点了一下")
End Sub
(2) Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
btnOK.Left = btnOK.Left + 10
End Sub
(3)Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
btnOK.Left = 20
End Sub
(4)Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
btnOK.Visible = Not btnOK.Visible
End Sub
(5)Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Timer1.Enabled = Not Timer1.Enabled
End Sub
(6)按钮跟随鼠标移动
Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Dim p As Point
p = Me.PointToClient(MousePosition)
Button1.Left = p.X
Button1.Top = p.Y
End Sub
(7)功能:使鼠标捕获不到按钮(考虑此处怎么用循环)
(1)Private Sub Button1_MouseEnter(sender As Object, e As EventArgs) Handles Button1.MouseEnter
changePosition()
Dim x As Single
Dim y As Single
x = MousePosition.X - Me.Left - (Me.Width - ClientSize.Width) / 2
y = MousePosition.Y - Me.Top - (Me.Height - ClientSize.Height) / 2
while(x>=Button1.Left)&;&;(x<=(Button1.Left+Button1.Width))&;&;(y>=Button1.Top)&;&;(y<=(Button1.Top+Button1.Height))
Do changePosition()
End if
End Sub
'使鼠标不可能捕获到按钮,可以先计算按钮下一次要移到的位置,判断鼠标是否会落在那个区域,若会,就再一次改变位置!(先判断,后移动)
鼠标坐标MousePosition.X和MousePosition.Y是鼠标相对于桌面左上角的坐标。需要将它转换为客户群client的坐标.
也可以使用Me.PointToClient(MousePosition)和Me.PointToScreen(MousePosition)进行转换
Dim p As Point
p = Me.PointToClient(MousePosition)
x=p.X
y=p.Y
(2) Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
TextBox1.Text = Int32.Parse(TextBox1.Text) + 1 '(用来计数)
End Sub
'用来计数
(3) Private Sub changePosition()
Dim rnd As New Random
Button1.Left = rnd.Next(0, Me.ClientSize.Width - Button1.Width)
Button1.Top = rnd.Next(0, Me.ClientSize.Height - Button1.Height)
End Sub
'使鼠标在可见区域内移动,e是指当前窗体,Me.ClientSize指窗体可被操作的区域,即除去边框的区域,且没有left和top属性
End Class
(4)当窗体太小时,只要鼠标在窗体中间,就可以点到鼠标,因此需要限制用户改变窗体的大小 FormBorderStyle
第二讲
功能:弹出对话框,根据不同的选择选择不同的内容
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If MessageBox.Show("你好", "问候", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
TextBox1.Text = "好"
Else
TextBox1.Text = "不好"
End If
End Sub
文本框
属性:
Acce