excel - 当您在子程序内部时,事件可以触发吗?
问题描述
我意识到我移动图像的算法是一团糟,但现在这并不重要。我的问题确实围绕以下问题进行 - 是否可以进行设置,以便当我双击 dblclick 事件触发时,将 doubleClicked 更改为 false 然后退出我的循环?
Dim orginx As Long
Dim originy As Long
Dim doubleClicked As Boolean
Private Sub Image1_Click()
doubleClicked = False
originx = Image1.Left
originy = Image1.Top
Do
If originx / 2 > 1 Then
Do
Image1.Left = originx - 2
Image1.Top = originy - 2
originx = Image1.Left
originy = Image1.Top
Loop Until originx / 2 < 1
Else
Do
Image1.Left = originx + 2
Image1.Top = originy + 2
originx = Image1.Left
originy = Image1.Top
Loop Until originx + 2 > 432
End If
Loop Until doubleClicked = True
End Sub
Private Sub Image1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
doubleClicked = True
End Sub
解决方案
是的。您需要在 do 循环中添加一个 DoEvents() (任何地方都可以),但这会带来性能损失。
推荐阅读
- javascript - 如何将两个(或多个)独立的反应应用程序连接成一个?
- asp.net - 取消时DetailsView的Inserting-Event中没有代码运行
- java - JDBC Postgresql 仅在 Main 类中工作
- javascript - 使用函数填充 JSON 字段值
- typescript - SharePoint 框架和 TypeScript 并等到所有承诺完成后再返回客户端
- java - Room Insert 只插入主键,不插入列
- open-liberty - 合约优先 OpenAPI 生成
- vue.js - 带有 vue-test-utils 和 Jest 的 Vue.js 单元测试用例失败
- asp.net-core - ASP.NET Core CSS 未加载
- mysql - 如何检查是否有从 JDBC 中的 Statement 读取的 ResultSet?