画面切替の際に前のフォーカスが残るケースについて

【現象】
携帯端末上で実行時、画面(フォーム)切換えの際に直前フォームでフォーカスがあったボタンコントロールなどの表示が一定時間(フォーカスが移動するまでの間)残ってしまう場合がある。

【理由】
フォーカスの移動制御は、移動先フォームの「$Load」、移動先フォームの「$GotFocus」というイベント処理終了後のアイドル時点で実際のフォーカス移動が行われるため、「$Load」および「$GotFocus」で時間のかかる処理が記述されているとその間、前のフォームのフォーカスがあるコントロールと次フォームのコントロールが両方表示される。

【回避策】
前のフォームでダミーのコントロールを作成(目に見えないコントロール:背景と同じ色、小さいなど)し、前のフォームでそのコントロールを最終フォーカスとして画面移動する
(例:通常のボタン選択後、ダミーコントロールにフォーカス移動し、通常のボタンですべき処理をダミーコントロールの$GotFocusで記述し次のフォームへ)