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
暂无评论内容