将委托传递给程序 [英] Passing a delegate to procedure

查看:105
本文介绍了将委托传递给程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的表格中,我有:

In my form I have:

Private Sub AssignMenuHandler
  For Each historyItem In _historyMenu.HistoryItems
    menItem = historyItem.MenuItem
    AddHandler menItem.Click, AddressOf MenuHandler
  Next
End Sub

Public Sub MenuHandler(ByVal sender As Object, ByVal e As EventArgs)
  Dim menuItem As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
  Dim historyItem As String

  historyItem = menuItem.Text .....


但是我想在创建historyItem.MenuItems时在HistoryMenu类中进行分配.为此,我需要类似
的东西


But I want to do the asignment in the HistoryMenu class when the historyItem.MenuItems are created. To do that I need something like


Private Sub LoadHistory(ByVal mainMenuItem As ToolStripMenuItem, delegateProcedure as ???)
  Dim menTemp As System.Windows.Forms.ToolStripMenuItem
  Dim menuText As String

  Dim historyItem As HistoryItem
  For Each historyItem In _historyItems
    menTemp = historyItem.MenuItem
    AddHandler menTemp.Click, AddressOf delegateProcedure
  Next
End Sub



我如何声明委托程序?如何在表格中定义它?能做到吗?

[edit]添加的代码块-OriginalGriff [/edit]



How do I declare delegateProcedure? How do I define it in the form? Can it be done?

[edit]Code blocks added - OriginalGriff[/edit]

推荐答案

本文演示了如何在VB.NET中删除和使用委托: 代表的初学者指南 [
This article demonstrates how to delcare and use delegates in VB.NET:
A Beginner''s Guide to Delegates[^].


这篇关于将委托传递给程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆