表单上的默认按钮(VB 2008)

5

我希望找到一种方法,使一个特定的按钮成为表单的默认按钮,也就是在表单首次打开时突出显示的按钮。

我尝试了AcceptButton属性,但运行程序时它并没有起作用。

有什么想法吗?

谢谢您提前的帮助,

Tassos

5个回答

7

您需要更改包含窗体的AcceptButton属性。

form1.AcceptButton = button1

这里的form1是需要设置默认按钮的表单,button1是该表单上的按钮名称。


4
表单的AcceptButtonCancelButton属性定义了Enter和Escape键的默认行为,而不是突出显示。
要突出显示按钮,请使用Focus方法,但在form_load事件中这样做时,您需要调用Select方法。
btnDefault.Select()

如评论中所述,将控件的 TabOrder 设置为最低值可以实现相同的效果。


谢谢你的回答。但是我尝试了那个方法,但什么都没有改变。这是怎么回事? - Tassos
使用Select(),Focus只能在按钮可见时起作用。在Load事件中它还没有可见。更简单的方法是将按钮的TabIndex设置为最低。 - Hans Passant
谢谢@HansPassant,我的WinForms有点生疏。我已经更新了答案; - Moog

0
您也可以通过编程实现此操作。 我有一个维护表单,在最初的时候,我希望“搜索”按钮作为表单接受按钮。 当我显示字段维护区域时,我希望“确定”按钮成为接受按钮。 您只需在代码中的适当区域更改此设置为Me.AcceptButton = MyButtonName即可。

0

'chk'在2013年5月2日的回答是正确的答案,但显示为字符串,这当然不是正确的方法。

此外,在窗体的属性表中,您可以找到“Misc”下的“AcceptButton”属性。 这将给您一个列表,列出窗体上的按钮 - 只需选择您想要的即可。

被选为AcceptButton的按钮将作为“默认”按钮。 它将用较暗的边框“突出显示”,当您在键盘上按Enter键时,它将被单击。

设置AcceptButton与设置按钮的焦点不同。 无论窗体上哪个控件具有焦点,按Enter键都会触发AcceptButton的单击事件。


0
在vs2022中,您可以在属性窗口中简单地设置AcceptButton属性。您将获得一个按钮列表(包括常规按钮和已安装的FontAwesome按钮),供您选择。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接