它看起來像你想要做的快速和容易地將文件的內容映射到您的Windows窗體控件。
如果是這樣的話,那麼你應該考慮創建代表您的Windows窗體的各種狀態的類 - 生活在字符串屬性的文本框的內容,複選框布爾性能等
一旦你創建那麼你可以將它的一個實例綁定到所有的窗體控件上,這將意味着窗體數據綁定過程將保持你的UI和類同步。
最後一步是保存並加載數據。爲了對C#序列化做一些調查,有很多關於如何將一個類寫入文件表示形式的教程,其中您需要做的唯一工作是將一些屬性應用於該類,並從該類中調用正確的方法序列化命名空間。
下面是一些非常快速的代碼,顯示了帶有單個文本框和三個單選按鈕的示例窗體的數據綁定。你將需要爲你的真實案例進行實驗,以便正確實施你的支持課程 - 單選按鈕和單選按鈕組可能有點棘手。
我確信代碼可以改進,但它只是用來顯示方法。
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的實例,如果它存在的話,你會從你的文件反序列化這個類。
這種方法在某種程度上導致了MVVM方法,其中用於支持綁定的類很像View Model - 我建議進入這種思維模式,因爲您不希望綁定類開始包含邏輯。它只是在那裏給你一些東西來綁定和序列化的東西代表你的形式 - 你應該有其他邏輯包含對象,你是真正的模型。
我不會顯示序列化代碼 - 這裏有很多示例代碼。這裏是一個MSDN文章的鏈接,這將是一個很好的第一步:http://msdn.microsoft.com/en-us/library/ms950721.aspx
嗨大衛 - 是的,這是更多我想要做的。如果用戶在textbox1中輸入'Hello',在'textbox2'中輸入'Test'並選擇單選按鈕A(選擇A或B) - 我想將這些信息保存到文件中。如果應用程序然後運行,我想加載這個文件,textbox1將包含'你好'等。 –