visualbasic(vb.net)中如何动态使用事件,AddHandler 事件, AddressOf 方法

第1部分:应用场景

我们在使用visualbasic(vb.net)进行程序开发的时候,经常会有这样一个需求,我没定义一个变量为窗体(称新窗体),然后将这个变量进行ShowDialog,最后定义在判断ShowDialog结果为Ok后需要执行的代码,在这个新窗体ShowDialog过程中,我们是免不了对其上的控件进行操作的,这些操作需要运用触发事件代码进行处理,此时,我们不可能在原窗体写下事件的执行代码,这个时候,我们就要运用到新窗体构造的同时,构造新事件,这个事件关联方法,在方法里写上我们要执行的过程,这样就不影响原来的模样,又能多次运用我们这个固定的窗体了。

第2部分:解决方案

首先我们构造两个窗体,Form1和Form2,上面分别增加一个按钮Form1_Button1和Form2_Button1,注意,Form2我们不需要任何代码,只需要在Form1下添加代码入下:

Public Class Form1
    Private Sub From2_Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form1_Button1.Click
        Try
            Dim F As New Form2
            AddHandler F.Form2_Button1.Click, AddressOf F_Form2_Button1_Click
            F.ShowDialog()
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try
    End Sub
    Private Sub F_Form2_Button1_Click()
        MsgBox("我是Form2上Button1 的事件!")
    End Sub
End Class

以上代码运行结果为:点击Form1上的Form1_Button1按钮,新窗体F(继承Form2)将会出现,再点击F上面的Button控件,将弹出”我是Form2上Button1 的事件!”提示框。

第3部分:结论

应用软件开发的过程中,代码复用、窗体复用将会增加我们程序的灵活性,同样减少程序员本身的工作量,而上面介绍的事件添加,很好的让我们能够运用某些固定窗体,且可以在多个不同的地方使用,同样保证了实现结果的独立性!

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容