如何使单个事件处理程序处理所有 Button.Click 事件?

2023-11-22

在我的程序中,我有 9 个按钮,每个按钮都有 9 个独立的事件处理程序,尽管每个事件处理程序中的代码是相同的。事实证明,更改所有这些代码是非常乏味的。是否可以创建一个 Button.Click 事件处理程序来处理所有按钮的 Button.Click 事件?


您可以修改HandlesVS 生成的事件代码上的子句,以便它可以为多个控件处理相同的事件。在大多数情况下,有人可能希望将大部分(但不是全部)按钮点击集中到一个过程。要更改 Handles 子句:

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button1.Click, 
                 Button3.Click, Button4.Click ...
    ' just add the extra clicks for the additional ones

    ' you will need to examine "Sender" to determine which was clicked

    ' your code here
End Sub

这也可以动态完成,例如对于在 Load 事件(或任何位置)中创建并添加到表单的控件:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    AddHandler Button1.Click, AddressOf AllButtonsClick
    AddHandler Button2.Click, AddressOf AllButtonsClick
    AddHandler Button3.Click, AddressOf AllButtonsClick

End Sub

连线all按钮到同一事件,您可以循环遍历控件集合(使用 Linq):

For Each b As Button In XXXXX.Controls.OfType(Of Button)
     AddHandler b.Click, AddressOf MyClickHandler
Next

Where XXXXX可能Me或面板、组合框等 - 无论按钮在哪里。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使单个事件处理程序处理所有 Button.Click 事件? 的相关文章

随机推荐

  • 显示 w.r.t. 的语义转义字符

    考虑以下示例 gt ghci 外壳 gt writeFile d show d cat d d gt writeFile d d cat d d gt writeFile backslash show cat backslash gt wr
  • Python - 不支持的类型:范围和范围

    我在尝试运行脚本时遇到这个奇怪的错误 代码似乎是正确的 但似乎 python 3 不喜欢这部分 def function x if integer return int x else return x non nil randrange 2
  • 避免内存泄漏/使用 Javascript

    我是 jQuery 的新手 我有点困惑这是否正常或可能导致内存泄漏 代码如下 在某些日期过滤器上为每个新值调用此方法 function preapreTooltip chart var tickLength chart xAxis 0 ti
  • linux uinput:简单的例子?

    我在获取时遇到一些问题both代码的两侧使用uinput在职的 Based on Getting started with uinput the user level input subsystem dead link archived I
  • 如何将PictureBox.Image保存到文件?

    我使用以下命令将 jpgImage 写入 PictureBox Image var jpgImage new Byte jpgImageSize pictureBox Image new Bitmap new MemoryStream jp
  • 如何使用 Spring 通过 OAuth2 保护 MVC 应用程序?

    对不起 我的英语 我有一个可以以通常方式登录的应用程序 Configuration EnableWebSecurity public class LoginSecurityConfig extends WebSecurityConfigur
  • 无法编译android studio项目

    我想在我的项目中添加一个materialdrawer库 当我添加依赖项时 我的 build gradle 看起来像这样 dependencies compile fileTree dir libs include jar compile c
  • Dockerized Rails 5 RC1 应用程序未获取正在开发的控制器和模型的更新

    我在 Mac OS X Docker Machine Docker Compose 上开发 Rails 4 应用程序有相当多的经验 但是 Rails 5 在开发环境中缓存文件的方式发生了一些变化 目前正在使用 RC1 进行测试 启动应用程序
  • 围绕零值自动构建色彩图

    我经常想绘制一张范围从负数到正数的差异图像 问题在于 matlab 的颜色图仅从最小值到最大值缩放 但不关心某些中间值 本例为零 例如 我制作了peaks具有单个像素不同的图像 原来的样子是这样的 所以零值在顶部图像是蓝色的 在底部是绿色的
  • 当 help() 列出方法签名时,斜杠意味着什么?

    什么是 Python 3 4 中的意思help输出为range右括号之前 gt gt gt help range Help on class range in module builtins class range object range
  • 三角形连接区域

    考虑以下形状 灰色区域是外部容器 忽略这一点 白色区域是一个链接 a tag 红色三角形区域是另一个链接 a tag 我使用以下代码为红色区域创建了一个 CSS 三角形 ribbon position absolute right 0 bo
  • 从简单 HTTP 服务器中的每个文件中删除 .html 扩展名

    我想做到这一点 以便当有人访问我的 Go HTTP 服务器上的页面时 他们不会看到 html扩大 例如 当他们访问时https example org test他们会看到的内容https example org test html My c
  • 创建/获取自定义 kubernetes 资源

    我想用 go 创建一个自定义的 kubernetes 资源 该应用程序部署在kubernetes集群中 我想创建例如以下资源 apiVersion configuration konghq com v1 kind KongPlugin me
  • CouchDB从XMLHttpRequest跨域访问?

    目前 Web 应用程序需要提供某种跨域 HTTP 标头来访问其他域上的数据 http openfontlibrary org wiki Web Font linking and Cross Origin Resource Sharing 有
  • Xcode 6.1 上架构 x86_64 的未定义符号

    突然 Xcode 在编译时抛出了这个错误 Undefined symbols for architecture x86 64 OBJC CLASS Format referenced from objc class ref in WOExe
  • 如何在 C 中将无符号字符数组转换为十六进制字符串

    是否可以将无符号字符数组表示为字符串 当我搜索它时 我发现只有 memset 能够做到这一点 但是逐个字符 假设这不是正确的方法 有没有办法进行转换 上下文 我试图存储加密哈希函数的输出 该函数恰好是一个无符号字符数组 eg unsigne
  • Eclipse 中如何自动删除尾随空格?

    这个问题有两个部分 其中之一我已经有了答案 如何自动删除尾随空格从正在编辑的整个文件 gt 答案 使用任意编辑插件 可以设置为在任何保存到文件时执行此操作 如何自动删除尾随空格仅从我改变的线条来看 gt 这我不知道 希望得到任何帮助 我假设
  • 汇编语言有多不可移植,/真的/?

    我知道用汇编语言编写任何内容或将汇编语言添加到任何程序都会损害其可移植性 但是 有多糟糕呢 我的意思是 现在基本上所有 PC 都是 x86 或 x64 对吧 那么 如果我将汇编嵌入到 C 程序中 为什么无论它去了哪里它仍然无法编译 这种不可
  • 致命错误:Dictionary 不符合 Decodable,因为 Any 不符合 Decodable

    我正在尝试使用 swift 4 解析本地 json 文件 success true lastId null hasMore false foundEndpoint https endpoint error null 这是我正在使用的功能 f
  • 如何使单个事件处理程序处理所有 Button.Click 事件?

    在我的程序中 我有 9 个按钮 每个按钮都有 9 个独立的事件处理程序 尽管每个事件处理程序中的代码是相同的 事实证明 更改所有这些代码是非常乏味的 是否可以创建一个 Button Click 事件处理程序来处理所有按钮的 Button C