'VB.net 自定义事件使用方法

'VB.net 自定义事件使用方法
'1.先定义包含事件的类(如下)

Public Class TestEvent
    Public Event MyEvent(ByVal s As String)     '自定义事件
    
    Public Sub StartEvent(ByVal value As String) '触发事件函数
        RaiseEvent MyEvent(value)          '触发事件
    End Sub
End Class

'2.在使用事件的类中添加如下代码
   
      '声明事件对象
      Private WithEvents mEvent As TestEvent
      '实例化
      mEvent = New TestEvent
      '处理事件函数 注意:函数名必须为 变量名_事件名
       Private Sub mEvent_MyEvent(ByVal s As String) Handles mEvent.MyEvent
           MsgBox(s)
       End Sub
       '触发事件
      mEvent.StartEvent("11111")

3.
      '声明事件对象
      Private mEvent As TestEvent
     '实例化以及绑定处理函数
       mEvent = New TestEvent
         AddHandler (mEvent.MyEvent), AddressOf OnMyEvent   

      '处理事件函数
        Private Sub OnMyEvent(ByVal s As String) Handles mEvent.MyEvent
            MsgBox(s)
        End Sub     
          '触发事件
      mEvent.StartEvent("2222222")

vb.net 中自定义类中的事件

基本思路:
1,首先在要定义事件的类中声明事件,然后使用RaiseEvent 激发该事件.
Public Class Person

  Private name As String

   Public Event walked(ByVal distance As Integer)
   
  Public Sub onwalk(ByVal distance As Integer)
    RaiseEvent walked(distance)
  End Sub
End Class
2. 使用WithEvents 声明该类的对象.
  Friend WithEvents myperson As Person
3,编写事件处理代码.
  Private Sub myperson_walked(ByVal distance As Integer) - 
   Handles myperson.walked
   TextBox1.Text = "walked" & distance
   End Sub
4,调用事件.
  Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)  Handles Button1.Click
  myperson.onwalk(20)
  End Sub

Vb.Net自定义事件的应用及应注意的地方
主窗体: 
Public Event msg(ByVal i As Int16)   '''首先定义一个事件

Dim i As Int16 '''定义一个变量
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        i += 1
        RaiseEvent msg(i) '''激发事件
    End Sub
  

    Dim frm As Addition = Nothing '''从窗体
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If frm Is Nothing Then
            frm = New Addition
            frm.main = Me '''此处是应该注意的地方,一定要把从窗体定义的主窗体设置成此窗体,否则不会引发事件!
        End If

      '''上面定义从窗体的方法,可以避免多次实例化窗体

        frm.Show()
    End Sub

从窗体:

Public WithEvents main As main '''定义主窗体事件并执行

    Private Sub main_msg(ByVal i As Short) Handles main.msg
        Label1.Text = i
    End Sub

1,以上方法是主窗体定义事件,然后触发,在从窗体执行的情况,需要注意的是frm.main=me

此句的意思是从窗体的触发事件是主窗体定义的

2,但是在现实应用中,通常都是从窗体内容发生变化,需要及时更新主窗体,此时代码有小小的变动,如下,

需要仔细看啊!

主窗体:

   Public WithEvents add As Addition
    Dim frm As Addition = Nothing
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If frm Is Nothing Then
            frm = New Addition
            Me.add = frm    '''注意此处的区别
        End If
        frm.Show()
    End Sub

    Private Sub add_msg(ByVal i As Short) Handles add.msg
        Label1.Text = i
    End Sub

从窗体:

       Public Event msg(ByVal i As Int16)
    Dim i As Int16

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        i += 1
        RaiseEvent msg(i)
    End Sub

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在VB.NET中,我们可以通过编写自定义控件来实现下载功能。首先,我们需要创建一个新的类来扩展现有的控件,例如Button或者Label,并添加下载所需的方法和属性。 在这个自定义控件中,我们可以添加一个属性来保存下载的URL地址,这样在使用控件时就可以通过设置这个属性来指定下载的文件。我们还可以添加一个方法来执行下载操作,例如使用WebClient类来下载文件到本地。 在下载方法中,我们可以为WebClient类的DownloadFileCompleted事件添加事件处理程序,以便在下载完成时执行特定的操作,例如显示下载完成的提示信息。 为了提供进度跟踪的功能,我们可以使用WebClient类的DownloadProgressChanged事件来更新下载进度条。我们可以在该事件处理程序中设置进度条控件的值,该值可以通过Divide方法计算得到。 此外,我们还可以添加一些其他的功能,例如下载暂停、恢复、取消等。我们可以添加相应的按钮或者控制来实现这些功能,并通过事件处理程序来处理相应的操作。 总之,通过自定义控件,我们可以根据具体的需求设计和实现一个下载控件,并在VB.NET的项目中使用它来实现下载功能。这个控件可以具有下载进度跟踪、下载完成提示、暂停、恢复、取消等功能,提供了更好的用户体验和灵活性。 ### 回答2: 要在VB.NET自定义控件下载,您可以按照以下步骤进行操作: 1. 创建一个新的VB.NET项目,命名为CustomControlDownload。 2. 在项目中添加一个类文件,并命名为CustomDownloader.vb。这个类将用于实现自定义控件的下载功能。 3. 在CustomDownloader类中,您可以定义一些属性和方法,用于设置下载链接、目标文件路径、下载进度等。您可以参考.NET提供的WebClient类来实现文件下载功能。 4. 在CustomDownloader类中,可以通过继承Control类来创建一个自定义控件。您可以在控件中添加一些属性和事件,用于显示下载进度、处理下载完成事件等。 5. 在Form1.vb文件中,将自定义控件添加到窗体中。您可以通过设计器或手动编写代码的方式添加控件。 6. 通过控件的属性和事件处理程序,设置下载链接、目标文件路径等,并订阅下载完成事件。 7. 运行项目,您将看到窗体中显示了您自定义的下载控件。可以输入下载链接,点击下载按钮来开始下载指定文件。 8. 在下载完成事件处理程序中,您可以对下载的文件进行处理,例如保存到指定文件夹中,或者显示下载结果信息。 通过以上步骤,您就可以在VB.NET自定义控件下载功能了。根据您的具体需求,您还可以进一步扩展和优化自定义的下载控件,使其更加强大和易于使用。 ### 回答3: 在VB.NET中,我们可以通过创建自定义控件来满足特定的需求。以下是一个关于如何下载自定义控件的简单步骤: 首先,我们需要找到所需的自定义控件。可以通过搜索互联网、浏览开发者社区或与其他开发者沟通来寻找适合自己的控件。确保找到的控件与我们的项目需求相符。 一旦找到了合适的控件,我们需要将其下载到本地计算机上。这可以通过在控件的官方网站或其他资源站点上点击下载按钮来完成。在下载之前,确保选择与我们的VB.NET版本兼容的控件。同时,确保控件的授权适合我们的项目需求。 下载完成后,我们需要将控件添加到我们的项目中。打开VB.NET项目,右键单击“工具箱”窗口中的某个选项卡,选择“选择项”菜单。在弹出的对话框中,点击“浏览”按钮,并找到下载到本地计算机的控件文件。选择文件后,点击“确定”按钮。 控件将被添加到工具箱中,并可以在项目中使用。现在,我们可以将控件拖放到窗体上,并使用其提供的功能和属性来满足我们的需求。 如果在使用自定义控件的过程中遇到问题,可以参考控件的文档、示例代码或开发者社区中的讨论来解决问题。此外,我们还可以与其他开发者交流,寻求他们的帮助和建议。 总结起来,下载VB.NET自定义控件的步骤包括:搜索并找到合适的控件,将其下载到本地计算机,将控件添加到VB.NET项目的工具箱中,并在项目中使用它来满足特定需求。需要注意选择与VB.NET版本兼容并符合项目需求的控件,并在使用过程中参考文档和寻求其他开发者的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值