Default button property in winform app

C#Visual StudioWinforms

C# Problem Overview


I have a form that takes user input and then let the user get connected to the sql server. This is happening on button click.But where can I set the property Default button so that the user when clicks enter do the work of that button.

C# Solutions


Solution 1 - C#

It is called AcceptButton now on the form; set that to the button that will be the default button.
Refer to Form.AcceptButton Property

Solution 2 - C#

I think you want the "AcceptButton" property at the FORM level... That will expose a combobox of available controls on your form, then select your "button" you want to use as the "Default" button on enter.

Solution 3 - C#

In addition to Form.AcceptButton property the "OK" button must have the TabOrder property set to 0 and all other controls within the form should have a TabOrder >0.

This can be done using a form resouce contruction kit or by code eg. buttonOK.TabOrder = 0;

Solution 4 - C#

I have noticed severally how there is a mix up when it comes to an active button and an accept button. I just came out of it. So, I just thought I add a little option to the answers already given. Obviously, the best answer is;

this.AcceptButton = AcceptButton;

However, if you wish to have the button as an active control, this is what you do;

this.ActiveControl = OkButton;

details: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.containercontrol.activecontrol?view=netcore-3.1

I hope it is helpful to anyone searching.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSrivastavaView Question on Stackoverflow
Solution 1 - C#BeemerGuyView Answer on Stackoverflow
Solution 2 - C#DRappView Answer on Stackoverflow
Solution 3 - C#walterVView Answer on Stackoverflow
Solution 4 - C#mw509View Answer on Stackoverflow