車輪を再発明するなと言われていますが、無数の方法でこれを行うことができます。それは、ユーザーのスタイル、形式、および聴衆に大きく依存します。誰でも簡単に情報を編集できるように、単純な txt スタイル ファイルですべてを行うのが好きな場合があります。XML を使用すると、情報をより簡単に整理できるようになります。これは、おそらくより優れているでしょう。それは本当にあなた次第です。個人的には、単純な txt ファイルを検索する独自の小さなアルゴリズムを作成しますが、それは XML を使用していないためです。
ファイルの保存と読み込みを処理するためだけにクラスを作成する必要があります。
何かのようなもの
public class CustomControls
{
//more code
public void AddCustomControl(Control x) { }
public void RemoveCustomControl(Control x) { }
public void UndoControl() { }
public void RedoControl() { }
public void SaveControls(string file){}
public void LoadControls(string file){}
//more code
}
保存と読み込みを処理するクラスの作業を開始すると、自分とエンド ユーザーにとって何が簡単になるかについて、より明確なアイデアが得られると思います。
*また、理論上の CustomControls クラスを介して追加されたカスタム コントロールを追跡したい場合があることに気付くでしょう。すべてのフォーム コントロールをループすることはお勧めしませんが、CustomControls クラスを介して動的に追加したものを追跡します。これにより、取り消しややり直しなどの機能を実装することもできます。