これは、ファイルの内容をWindowsフォームコントロールに簡単かつ簡単にマッピングしたいように見えます。
その場合は、あなたがあなたのWindowsフォームのさまざまな状態を表すクラスを作成するをご覧ください - 文字列プロパティに住んで、テキストボックスの内容は、ブール型プロパティとしてチェックボックスをオンなど
あなたが作成したら、そのクラスを使用すると、そのインスタンスをすべてのWindowsフォームコントロールにデータバインドすることができます。これは、Windowsフォームのデータバインディングプロセスが、UIとクラスを同期させて保持することを意味します。
最後のステップは、そのデータを保存して読み込むことです。 C#のシリアライゼーションを調べるには、ファイル表現にクラスを書き込む方法についてのチュートリアルがたくさんあります。ここで行う必要のある作業は、クラスにいくつかの属性を適用し、正しいメソッドを呼び出すことです。シリアライゼーション名前空間。ここ
は、単一のテキストボックスと3つのラジオボタンで、例えばフォームのデータバインディングを示すいくつかの非常に迅速なコードです。バッキングクラスの適切な実装を得るためには、実際のケースを試してみる必要があります。ラジオボタンとラジオボタングループはちょっと難しいかもしれません。
私はこのコードを改善できると確信していますが、そのアプローチを示すことを意図しています。
public partial class Form2 : Form
{
private BindingClass backingClass;
public Form2()
{
InitializeComponent();
backingClass = new BindingClass();
backingClass.Name = "Hippo";
backingClass.One = true;
textBox1.DataBindings.Add("Text", backingClass, "Name");
radioButton1.DataBindings.Add("Checked", backingClass, "One");
radioButton2.DataBindings.Add("Checked", backingClass, "Two");
radioButton3.DataBindings.Add("Checked", backingClass, "Three");
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(backingClass.Name);
if (backingClass.One)
{
MessageBox.Show("One");
}
if (backingClass.Two)
{
MessageBox.Show("Two");
}
if (backingClass.Three)
{
MessageBox.Show("Three");
}
}
}
public class BindingClass
{
private bool one;
private bool two;
private bool three;
public string Name { get; set; }
public bool One {
get { return one;}
set
{
one = value;
two = !value;
three = !value;
}
}
public bool Two
{
get { return two; }
set
{
two = value;
one = !value;
three = !value;
}
}
public bool Three
{
get { return three; }
set
{
three = value;
one = !value;
two = !value;
}
}
}
上記のBindingClassのインスタンスを作成する場合は、ファイルからクラスを逆シリアル化します(存在する場合)。
このアプローチは、MVMSのアプローチに近づいています。ここでは、クラスはビューモデルのようにバインディングをサポートしていますが、バインディングクラスにロジックが含まれないようにしたいからです。バインドするものと、フォームを表すものをシリアル化するものがあります。実際のモデルであるオブジェクトを含む他のロジックが必要です。
シリアライズのコードは表示されません。これはオンラインでたくさんの例があります。ここに、良い最初のステップとなるMSDN記事へのリンクがあります:http://msdn.microsoft.com/en-us/library/ms950721.aspx
こんにちはデビッド - はい私は何をしたいですか?ユーザーがtextbox1に 'Hello'を入力した場合、textbox2に 'Test'してラジオボタンA(AまたはBの選択肢)を選択します - その情報をファイルに保存します。アプリケーションが実行される場合、このファイルをロードしたいと思います。また、textbox1には 'Hello'などが含まれます。 –