Как курсор TextBox перемещается в начало текста после вызова SelectAll()?

В некоторых случаях, когда фокус установлен на конкретное текстовое поле, курсор садится перед текстом следующим образом:

enter image description here

Тем не менее, TextBox имеет обработчик GotFocus, который явно выбирает весь текст:

private void txtQty_GotFocus(object sender, EventArgs e)
{
    try
    {
        if (deviceInfo.isKeyboardShown())
        {
            SipShowIM(SIPF_OFF);
        }
        txtQty.SelectAll();
        txtQty.BackColor = Color.Yellow;
    }
    catch (Exception ex)
    {
        NRBQ.ExceptionHandler(ex, "frmEntry.txtQty.GotFocus");
    }
}

Кроме того, BackColor не установлен на желтый. Но обработчик txtQty_GotFocus никогда не отцепляется. Как могло случиться так, что он не стреляет? Существуют ли определенные условия, при которых фокус может быть программно установлен на TextBox без запуска события GotFocus?

UPDATE

Это было "разрешено", добавив еще один вызов txtQty.Focus();

Почему это было необходимо, когда txtQty уже имел фокус (с мигающим курсором), я не знаю. И почему текстовое поле, получающее фокус/курсор, не выбрало SelectAll(), а также желтизнуло фоне текстового поля, все еще имеет значение verblueffed.