gpt4 book ai didi

excel - 有没有办法检测用户是否单击了禁用按钮?

转载 作者:行者123 更新时间:2023-12-03 02:19:04 25 4
gpt4 key购买 nike

Hey, I have an UserForm into which an user inputs varius profile fields.

Once it's filled in, there is verification - if anything goes astray, the CommandButton, named save_button is disabled

我想要实现的是:如果用户在禁用状态下单击按钮,则显示一个 MsgBox 说明他需要更正错误已填写字段

<小时/>

出于演示目的,我不会在此处粘贴验证过程,因此我们假设 save_button.Enabled = False 是从一开始就设置的。产生相同的结果。

save_button.Enabled = False ' already ran before, pretend this executes it
Private Sub save_button_Click()
If save_button.Enabled = False Then
MsgBox "Clicked disabled button"
End If
End Sub

问题是,一旦 CommandButton 设置为 .Enabled = False ,就无法再正式单击它(因此它甚至无法触发 Click()程序)

<小时/>

我的下一个想法是使用 MouseUp 作为替代品。问题是,这会触发按钮上的任何微小移动,我不想用 MsgBoxes

轰炸用户<小时/>

enter image description here

您能否想出任何替代方案来检测用户是否单击了禁用按钮?

最佳答案

当控件被禁用时,单击事件会在树中向上冒泡。在你的情况下,我想用户表单会得到点击。如果您将保存按钮放在框架内,则在该按钮被禁用时将会获得点击。通过设置

可以很容易地使框架不可见
  • “”的标题
  • BorderStyle 为 fmBorderStyleNone
  • 特殊效果到 fmSpecialEffectFlat

然后调整框架的大小,使其与按钮的大小相同。代码很简单:

Private Sub YourNewFrame_Click()
MsgBox "Save button disabled!"
End Sub

提示:如果您绘制框架,剪切按钮并将其粘贴到新框架中,它将正确放置。正确地,如层次结构的右侧部分所示。从视觉上看,您必须手动完成。

关于excel - 有没有办法检测用户是否单击了禁用按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55093270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com