我解決了這個問題(感謝斯圖爾特的鏈接),把setters和getters放在我的用戶控件中。
public partial class ucOpleiding : UserControl
{
public string Datum
{
get { return txtDatum.Text; }
set { txtDatum.Text = value; }
}
public string Plaats
{
get { return txtPlaats.Text; }
set { txtPlaats.Text = value; }
}
public string Omschrijving
{
get { return txtOmschrijving.Text; }
set { txtOmschrijving.Text = value; }
}
public ucOpleiding()
{
InitializeComponent();
}
而在我的主要形式中,我會打電話給那些制定者和獲得者。
foreach (opleiding opl in ChauffeurManagement.getOpleidingen(Int32.Parse(cbbID.SelectedValue.ToString())))
{
ucOpleiding uc = new ucOpleiding();
uc.Datum = opl.datum.ToString();
uc.Plaats = opl.plaats_instantie;
uc.Omschrijving = opl.omschrijving;
flpOpleidingen.Controls.Add(uc);
}
請注意,像Silverlight這樣的技術包含了一種更爲複雜和先進的數據綁定方式,其中數據綁定仍然是WinForms中的一種事後考慮。 Stuart的答案是一個很好的開始,特別是針對你的問題,你最終可能會直接綁定到你的文本框,而不是任何容器控件(就像你的用戶控件只包含三個文本框一樣)。 – 2012-03-22 14:35:25
是的,我最終在用戶控件中使用了getters和setter。 似乎工作得很好。 – Schoof 2012-03-22 15:23:18