0

XML ドキュメントによって提供されるプロパティを使用して Windows フォームを作成するにはどうすればよいですか?

以下にそのような XML ドキュメントを示します。

<Form>
   <Size>
     <Width>558</Width> 
     <Height>537</Height> 
   </Size>
   <Text>XML saving</Text> 
   <Name>Form1</Name> 
   <Button>
     <Name>button1</Name> 
     <Text>XML button</Text> 
     <Size>
       <Width>130</Width> 
       <Width>45</Width> 
     </Size>
     <Location>
       <X>14</X> 
       <Y>24</Y> 
     </Location>
   </Button>
 </Form>

フォームをロードしたら、XML ドキュメントの値を使用してフォームとボタンを表示する必要があります。

誰でもこの件に関する支援やチュートリアルを提供できますか?

4

1 に答える 1

4

フォーム設定の保存と復元に使用できる組み込み機能があります。アプリケーション設定バインディングを使用します。

フォームのサイズ、場所、テキストなどのプロパティとそのコントロールを設定にバインドできます。設定は自動的に読み込まれ、コントロールに適用されます。手順:

  • いくつかのコントロールを選択し、[プロパティ] タブに移動します
  • (ApplicationSettings)データ カテゴリでプロパティを検索
  • プロパティ バインディング エディタを開く
  • 保存してxmlからロードするプロパティを選択し、そのプロパティの新しい設定を作成します

xml を本当に使用する必要がある場合は、手動で解析する必要があります。(Linq to Xml のサンプル) のようないくつかの (拡張) メソッドを作成できます。

public static void ApplySettings(this Button button, XDocument xdoc)
{
    var settings = xdoc
                 .Descendatns("Button")
                 .SingleOrDefault(b => (string)b.Element("Name") == button.Name);

    if (settings == null)
       return;

    button.Text = (string)settings.Element("Text");
    var location = settings.Element("Location");
    if (location != null)
    {
        button.X = (int)location.Element("X");
        button.Y = (int)location.Element("Y");
    }

    //etc
}

そして、各コントロールに対してこれらのメソッドを呼び出します。

var xdoc = XDocument.Load(settings_file);
button1.ApplySettings(xdoc);
// etc
于 2013-01-03T14:58:32.813 に答える