作者:Alistar1991_281 | 来源:互联网 | 2023-10-10 14:46
其实这一节,讲的很简单,就是我们说的vb.net中的form窗体。将form窗体的时候,将它分成了3部分来讲:事件驱动、Winform、空间项,用我们之前学过的东西就是:控件的时间
其实这一节,讲的很简单,就是我们说的vb.net中的form窗体。将form窗体的时候,将它分成了3部分来讲:事件驱动、Winform、控件项,用我们之前学过的东西就是:控件的时间、form窗体、控件。这部分的思维导图是这样的:
大家可以从上图中很清楚的看的出来,就是3部分了,首先大家要清楚他们之间的关系,form窗体中包含了很多的控制项(控件),同时,事件是依附在控件上的,也就是说有了对象才会有对象的事件的,Graphical User Interface 由很多的窗体组成,这就是他们的关系。
那么接下来,我们就讨论一下这3部分的的一些个detail吧,首先是事件:事件的处理和事件处理函数。事件就是使用者所操作的每一个动作都叫做事件,事件会最终别拦截,传给应用程式中。我们一般来辨别事件的处理函数,就是用Handles关键字。举个例子:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim i, j, k As Integer
i = CInt(TextBox1.text)
j = CInt(TextBox2.text)
k = i + j
System.Windows.Forms.MessageBox.Show("Answer=" + CStr(k))
End Sub
End Class 是不是可以从代码中的第3行最后,有一个“Handles button1.click”这就是事件处理函数的标志。
事件处理函数有分为两种:一对多和多对一,很好理解的,多对一就是说:多个控制项可以使用同一个事件处理函数,举个例子:
Private Sub TestA(sender As Object, e As EventArgs) Handles Button1.Click
MessageBox.Show("TestA")
RemoveHandler Button1.Click, AddressOf TestA
RemoveHandler Button1.Click, AddressOf TestB
End Sub
Private Sub TestB(sender As Object, e As EventArgs) Handles Button1.Click
MessageBox.Show("TestB")
RemoveHandler Button1.Click, AddressOf TestB
RemoveHandler Button1.Click, AddressOf TestA
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
AddHandler Button1.Click, AddressOf TestA
End Sub
End Class
这个代码说的主要问题就是,多对一事件处理函数中的一种:叫做动态的事件处理。这个RemoveHandler 和AddressOf就是建立的连接,程序运行的结果就是,但你点button1的时候,首先是messagebox出来:TestA,TestB,TestA,的结果,大家可以试一试。
一对多就是:单一的控制项(控件)可以多个事件处理函数。会了上面的例子这个就很多理解了。
第二部分就是:WinForm,主要讲了在窗体上vb.net和vb有什么区别,很好理解,看看思维导图就知道了。
第三部分讲的是控件,这部分我自己理解也是一般般,通过一个text box控件来说明控制项可以与物件或资料库做系结的。
.NET--新一代的Windows应用程式,布布扣,bubuko.com