【C#】ダイアログを出した後フォーカスがSplitConteinerの境界線に当たる
結論
原因はよくわかっていないが、this.ProcessTabKey(true);を入れると治った
経緯
画面にSplitConteinerを使って2つのパネルを配置していました。境界線にもフォーカスが当たるので、TabStopをfalseに変更し、フォーカスが当たらないようにしました。しかし、ある操作の後ダイアログを出し、backgroundworkerを使った非同期処理を行った後、フォーカスが境界線に当たっていました。backgroundworkerを使った非同期処理でない場合は、フォーカスが境界線に当たることはありませんでした。
フォーカスが境界線に当たってしまうのなら、Tabキーを押してしまえばいいのでは?と考えthis.ProcessTabKey(true);をbackgroundworkerを使った非同期処理の最後に書くと、解決しました。しかし、Tabを押したにもかかわらずタブオーダーがひとつ前に当たってしまうことが謎です。