我需要的文本框,這將反映數據綁定字符串的變化。我嘗試了以下代碼:數據綁定文本框並不反映源變化
public partial class Form1 : Form
{
string m_sFirstName = "Brad";
public string FirstName
{
get { return m_sFirstName; }
set { m_sFirstName = value; }
}
public Form1()
{
InitializeComponent();
textBox1.DataBindings.Add("Text", this, "FirstName");
}
private void buttonRename_Click(object sender, EventArgs e)
{
MessageBox.Show("before: " + FirstName);
FirstName = "John";
MessageBox.Show("after: " + FirstName);
}
}
啓動應用程序後,textBox1正確填充了Brad。 我點擊按鈕,改名姓爲「約翰」(第二消息框證實了這一點)。 但textBox1仍然充滿了布拉德,而不是約翰。爲什麼?什麼會使這項工作?
我在我的例子了文本框,但也有數據綁定控件只讀(列表框,標籤,。 ..)。真的是「label1.DataBindings.Add(」Text「,this,」FirstName「);」與「label1.Text = FirstName;」相同???我仍然相信必須存在雙面約束。 – jing 2009-10-26 09:21:13
@Jing,我的回答不適合您的需要。爲了工作,需要在添加另一個實例之前刪除數據綁定實例。其他答案給了你更好的設計。 – 2009-10-26 10:07:17