visualbasic(vb.net)中如何动态使用事件更加深入的学习

visualbasic(vb.net)中如何动态使用事件的疑惑

        我在之前的《visualbasic(vb.net)中如何动态使用事件,AddHandler 事件, AddressOf 方法》一文中提到,使用动态事件的方法(委托的一种),我们可以巧妙的实现同一窗体的重复运用,但是上次讲到的是该窗体上某个控件的触发事件,而且作用于本身,这显然不是我们所期待的那样,我们有时还需要使用了这个空白窗体,其上的某个控件触发另一个控件动作,比如我引用了一个窗体form2,上面有一个按钮button1和一个文本框textbox1,点击这个button1后,textbook1上面出现文字“我爱羽化飞翔”,显然,这个是日常所需的,而且不影响原窗体的结构,近期在应用软件开发的过程中深有体悟,找到了两个解决方法,现在一一与大家分享!

visualbasic(vb.net)中如何动态使用事件的特殊解决方案

 visualbasic(vb.net)环境:窗体Form1,Form2,Form2上面有一个按钮和一个文本框,Form1上有一个按钮,点击Form1上的按钮,调用Form2,再点击Form2上按钮,Form2文本框显示“我爱羽化飞翔

方法一:将窗体变量设为这个class内的全局变量

Public Class Form1
    Private f As New Form2
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        AddHandler f.Button1.Click, AddressOf F_Form2_Button1_Click
        f.ShowDialog()
    End Sub
    Private Sub F_Form2_Button1_Click()
        f.TextBox1.Text = "我爱羽化飞翔"
    End Sub
End Class

方法二:通过父-子关系进行指定

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim f As New Form2
        AddHandler f.Button1.Click, AddressOf F_Form2_Button1_Click
        f.ShowDialog()
    End Sub
    Private Sub F_Form2_Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        CType(CType(sender, Button).Parent.FindForm(), Form2).TextBox1.Text = "我爱羽化飞翔"
    End Sub
End Class

visualbasic(vb.net)中如何动态使用事件结论

        第一种方法,属于考虑全局,比较方便,第二种方法比较灵活,作为应用软件开发者,需要的是善于解决问题,所以上面两个方法选择哪个,还需要各位自己喜欢。

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

请登录后发表评论

    暂无评论内容