我对userforms非常熟悉,所以我决定尝试一下,尝试使用户形成增长/缩小并重新定位以根据复选框更改事件对齐中心。
代码按预期工作,但有一个问题。缩小userform时,userform会留下循环期间设置的所有大小增量的轨迹。这使程序看起来不那么顺畅"。我已经提供了该问题的屏幕截图以及相关代码。
我尝试过包含DoEvents
和Application.ScreenUpdating
的变体。 ScreenUpdating似乎什么都不做,而DoEvents将路径的数量减半,但也使得用户形式中的文本在执行期间变得有点疯狂。
注意:该复选框名为" MyCheckBox"并且userform命名为" ColumnSelect"
也许我试图用excels记忆或w / e来做太多。但是,任何帮助都会受到赞赏。谢谢!
Private Sub MyCheckBox_Change()
Dim w As Integer
Application.ScreenUpdating = False
If MyCheckBox.Value = True Then
For w = 425 To 838 Step 7
ColumnSelect.Width = ColumnSelect.Width + 7
ColumnSelect.Left = ColumnSelect.Left - 3.5
Next w
Else
'DoEvents
For w = 838 To 425 Step -7
ColumnSelect.Width = ColumnSelect.Width - 7
ColumnSelect.Left = ColumnSelect.Left + 3.5
Next w
End If
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:1)
我测试了我家(游戏)上的文件,这比我提出问题时使用的笔记本电脑/显示器设置要强大得多。在调整用户表单大小时没有明显的痕迹,因此用户A.S.H似乎是正确的,他认为问题涉及PC /监视器而不是代码。
如果您希望得到答案,我将很乐意为您提供,只需提交您自己的答案。否则我会把它标记为answerws。谢谢你的帮助