2015-07-21 34 views
0

我在我的宏中有一个用户表单。我用一个标签替换了ActiveX按钮。每个ActiveX按钮都有一个加速键,它们都像预期的那样工作。将ActiveX按钮更改为标签后,加速键不再使用标签。我不确定。我会很感激任何建议让加速键再次工作。感谢您的帮助Excel用户表单标签的加速键不起作用

+0

你是什么意思,他们不工作?如果您将标签上的加速键放在标签上,则标签顺序中的下一个控件(可以获得焦点)将获得焦点。这没有发生? Tab键顺序中的下一个控件是什么? –

+0

@ Dick Kuseika ........当用户点击Alt +时,没有任何反应会发生,因为我使用的是按钮而不是标签。下一个控件是另一个标签。这个用户表单中有许多框架,文本框和标签。谢谢 – Shaves

+0

我想象它看到下一个控件是一个标签,因为它不能占据焦点,什么都不做。你想要它做什么?你为什么从命令按钮更改为标签? –

回答

1

Label控件的Accelerator属性的行为是将焦点设置为Tab键顺序中的下一个控件。 Commandbutton的加速器的行为是调用它的Click事件。您无法从加速键调用标签的单击事件或任何其他事件。

如果您想使用标签,您可以在标签后面放置文本框,并在Textbox_Enter事件中放置任何您想要的代码。我创建了两个标签和两个文本框。我做了每个文本框1的高度和宽度,所以它们几乎看不见。当标签的加速器被按下时,焦点进入文本框,Enter甚至被触发。

Private Sub TextBox1_Enter() 

    'do the thing the button would do 

End Sub 

有点黑客和一些额外的设置,但它的工作原理。

+0

@迪克Kusleika .........感谢您的信息。我最终将标签更改回ActiveX按钮,并且加速键再次工作。我很欣赏这些信息,并且将会铭记未来 – Shaves