0

ユーザーがピクチャボックス、ラベルなどのコントロールをグループボックスに追加するプログラムを開発しています。自分の作業をファイルに保存して、後で開くことができるようにしたいのですが、xml でしか作業していません。前に、私はあなたの意見を知りたいのですが、コントロールをxmlファイルに保存することはこれを解決する良い方法だと思いますか? それとも、すべてのコントロールをループして、すべてのデータをストリームライターに渡すのでしょうか? または別の解決策、この場合の推奨事項を知りたいです。

前もって感謝します、DavidN

4

2 に答える 2

1

決定を下す必要がある場合は、この目的で xml を実装してみてください。devExpress は xml を使用します。フォローリンクを見てください

http://documentation.devexpress.com/#WindowsForms/CustomDocument4879

この例は非常に使いやすいですが、実装が非常に難しいかどうかはわかりません。

navBarControl1.SaveToXml("c:\\NavBarLayout.xml");
navBarControl2.RestoreFromXml("c:\\NavBarLayout.xml");
于 2013-06-05T03:47:36.340 に答える
1

車輪を再発明するなと言われていますが、無数の方法でこれを行うことができます。それは、ユーザーのスタイル、形式、および聴衆に大きく依存します。誰でも簡単に情報を編集できるように、単純な 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 クラスを介して動的に追加したものを追跡します。これにより、取り消しややり直しなどの機能を実装することもできます。

于 2013-06-05T03:40:35.857 に答える