Различают выбранное и сфокусированное. Вы не можете использовать более одного элемента управления одновременно.
То, что вы хотите, это чтобы TreeView Показывал его выбранный узел, когда он потерял фокус.
Edit:
Но я могу подтвердить проблему, установка Фокуса на другой элемент управления внутри SelectedItemChanged () отменит выбор.
Так что вам нужно что-то, чтобы отложить вызов Focus (). Грубое (но не идеальное) решение состоит в том, чтобы поместить txtToken.Focus () в обработчик событий trvTree_MouseUp (). Но это также отнимет фокус при расширении узла, например.
Так что вам, вероятно, придется использовать таймер однократного срабатывания из SelectedItemChanged ().