有没有办法在 MouseEnter/MouseLeaves 事件 etz 中组合多个txtbox?

Is there a way to combine several txtboxes in a MouseEnter/MouseLeaves event etz?

提问人:Tdytech 提问时间:10/31/2023 最后编辑:jmcilhinneyTdytech 更新时间:11/1/2023 访问量:50

问:

我有一个我在 Visual Studio 中使用的代码示例,该代码在我有 MouseEnters,MouseLeaves 也是如此。

Private Sub txtbox1_MouseEnter(sender As Object, e As EventArgs) Handles txtbox1.MouseEnter

    txtbox1.BackColor = Color.DarkBlue
    txtbox1.ForeColor = Color.White

End Sub

Private Sub txtbox1_MouseLeave(sender As Object, e As EventArgs) Handles txtbox1.MouseLeave

    txtbox1.BackColor = Color.RoyalBlue
    txtbox1.ForeColor = Color.Black

End Sub

我的问题是,有没有办法将所有txtbox组合成一个控制的子 当输入一个 txtbox etz 时,所有没有 get all om 的 txtbox 都会生效。

我仍然希望 txtbox1 是唯一一个在鼠标进入时改变颜色的,依此类推。 而不必为每个txtbox创建一个mouserenter/leaves。

我想要这样的东西: 私有子txt_mouseenter(Sendes 作为对象,E 作为 EventArgs)句柄 txt1.backcolor = 颜色.蓝色 txt2.backcolor = 颜色.蓝色 结束子

但是我不希望在输入txtbox1时更改所有txtbox。

我有很多不同的按钮和txtbox,我非常了解一般的编码 所以我只有很少的基础知识,需要我能得到的每一个技巧来简化 事情。

可以使用模块或类来获得这种效果或其他任何东西吗?

尝试制作一个子t_test(发送者作为对象,e 作为偶数参数) 处理 t1.mouseenter t1.backcolor = 颜色.蓝色 t2.backcolor = 颜色.蓝色 结束子

但正如我已经知道的那样,它使两个txtbox都受到影响

vb.net 事件 事件处理

评论

0赞 jmcilhinney 10/31/2023
实际查看您已经拥有的代码。在方法声明的末尾有子句,然后方法主体在单独的行上。如您所料,该子句指定该方法处理的事件。如果要处理多个事件,请将它们放在那里。正文不是子句的一部分。把你想要实际执行的任何东西都放在正文中。如果你研究这个关键词,我很有信心你会找到相关的解释和例子。HandlesHandlesHandlesHandles
0赞 jmcilhinney 10/31/2023
请不要在您的问题中使用不相关的标签。这个问题与 VS 2022 或 VS Code 完全无关。我敢打赌,你可以找到一些其他相关的标签,比如“事件”或“事件处理程序”等。
0赞 jmcilhinney 10/31/2023
以下是 VB.NET 关键字的文档。这是搜索“vb.net 句柄”的第二个结果。你不应该在没有先做这种基础研究的情况下发布问题。Handles
0赞 Tdytech 11/1/2023
与其“攻击”我,不如很好地解释。首先,我说我对这一切不熟悉,我只发布/寻求帮助两次(这是第二次)。我放置标签是因为我认为它与我使用的程序有关。对不起..像你这样的人的问题在于,你让别人不想寻求帮助。不要那么咄咄逼人和居高临下。但谢谢你为我指明了正确的方向。有好的一天!
0赞 jmcilhinney 11/1/2023
像你这样的人的问题在于,你立即认为任何接近批评的事情都是攻击,并决定问题是攻击者,而不是考虑你首先可能做了什么来证明批评并采取一些措施。如果你做错了事,告诉你你做错了事不是攻击。如果没有人告诉你,那么你就会继续做同样错误的事情,这对你或那些必须处理它的人没有帮助。现在你知道要改变什么,这样对每个人,包括你,都会更好。

答:

0赞 Jiachen Li-MSFT 11/1/2023 #1

可以使用 AddHandler 语句为每个文本框的 MouseEnter 事件和 MouseLeave 事件添加 Handler。

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    AddHandler TextBox2.MouseEnter, AddressOf TextBox1_MouseEnter
End Sub

Private Sub TextBox1_MouseEnter(sender As Object, e As EventArgs) Handles TextBox1.MouseEnter
    sender.BackColor = Color.DarkBlue
    sender.ForeColor = Color.White
End Sub