textbox.Focus() not working in C#

Solution 1:

Use Select() instead:

recipientEmail_tbx.Select();

Focus is a low-level method intended primarily for custom control authors. Instead, application programmers should use the Select method or the ActiveControl property for child controls, or the Activate method for forms.

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.focus.aspx

Solution 2:

Add Delay some miliSec. Delay then call Focus() and Not forget to put inside Dispatcher.

Task.Delay(100).ContinueWith(_ =>
     {
         Application.Current.Dispatcher.Invoke(new Action(() =>
         {
             TextBoxNAme.Focus();
         }));
     });

Solution 3:

Even I tried with lots of above solutions but none of them worked for me as am trying to focus on page load. Finally I got this solution and it worked.

private void txtBox_LayoutUpdated(object sender, EventArgs e)
{
    txtBox.Focus();
}