Serviceを読んで理解し、同意したものとみなします。Coreで名前付きMutexがサポートされているようです。コンソールアプリケーションで正常に動作しているとあります。入れ替えの考え方は以下の記事と類似の考え方で、いったんListにしてから入れ替え、新たにDictionaryを作るやり方で行きます。以下のようになります。行番号の範囲チェックが必要ならばこの場所で行う。2019で試してみましたが、確かにそうなりますね。気になって色々調べてみたのですが、.NETのPaletteSetクラスにはタブ切り替えのコンテキストメニューを出させるオプションが無くて、タブ切り替えをできるような機能もないと思います。お力になれず申し訳ないです。