加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net – 用于许多控件的Keydown Handler

发布时间:2020-12-17 07:14:59 所属栏目:百科 来源:网络整理
导读:有没有更好的方法来为繁忙的表单上的许多控件提供keydown处理程序? (在某些情况下,单独使用表单处理程序不起作用.) Private Sub rText_KeyDown(ByVal Sender As Object,ByVal e As KeyEventArgs) Handles rText0.KeyDown,txTaxon.KeyDown,txCommon.KeyDown,
有没有更好的方法来为繁忙的表单上的许多控件提供keydown处理程序? (在某些情况下,单独使用表单处理程序不起作用.)

Private Sub rText_KeyDown(ByVal Sender As Object,ByVal e As KeyEventArgs) Handles rText0.KeyDown,txTaxon.KeyDown,txCommon.KeyDown,_
  txConfidence.KeyDown,txDate.KeyDown,txDateAdded.KeyDown,txFileName.KeyDown,txGPS.KeyDown,txRating.KeyDown,txQuality.KeyDown,txRemarks.KeyDown,txKeyWords.KeyDown,txOriginalPath.KeyDown,_
  txLink.KeyDown,chkLink.KeyDown,rview.KeyDown,cmdNext.KeyDown,tvTaxon.KeyDown,Me.KeyDown,_
  cmdTaxon.KeyDown
Call globalkey(e)
End Sub

解决方法

我是一名C#程序员,因此无法提供有效的解决方案(如在vb.net代码中).

我认为你可以通过做以下事情来实现这一目标.

>为您的相应控件编写一个AddHandlers的方法,当且仅当它们具有设置为属性的特定值时(下面的步骤#2中的详细信息)
>要将公共处理程序附加到的所有控件将其Tag属性设置为唯一值,例如:“KeyDown”.我建议在这种情况下使用Enum,而不是字符串
>现在,在Form构造函数中,在InitializeComponent调用之后,调用您在上面#1中编写的方法.这将把处理程序附加到所有所需的控件.
>如果您有多个具有此要求的表单,则可以将此功能添加到主表单,该表单的作用类似于所有其他表单的父表单(继承)

希望我足够清楚,这有帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读