Because you are using the ShowDialog function to show your 2nd form, you won't be able to return focus to your main form without closing the new dialog. The first thing to do is to open your 2nd form using Show and not ShowDialog.
Then you can define an event in your second form. It can be as simple as this:
public delegate void NoArgsEvent();
public event NoArgsEvent OnButtonClickEventNotify;
To cause the event to fire, just add a simple little block of code into your button click handler on form2.
if( OnButtonClickEventNotify != null )
{
OnButtonClickEventNotify();
}
Then in your main form you just have to consume the event when you create an instance of your 2nd form:
var dlg = new form2();
form2.OnButtonClickEventNotify += YourHandler;
void YourHandler()
{
focus();
}