对于winforms,您可以使用listbox1.datasource = new List<string>(...)
将列表框的数据绑定到项目列表的方式相同,如何将文本框绑定到变量值呢?
我知道这样做有几种不直观的方法。
例如
class form : Form {
string name;
//change variable every time the textbox changes
private void name_textbox_change(object sender, EventArgs e)
{
name=name_textbox.text();
}
//change variable on closing
private void form_closing(object sender, EventArgs e)
{
name=name_textbox.text();
}
}
,但是在所有这些情况下,您都必须为EACH变量显式地将值分配给变量。 理想情况下,我可以做类似的事情。
name_textbox.datasource = name;
每次文本框更改时名称都会更改,而每次name变量更改时文本框也会更改。
我知道您可以在某种程度上使用System.ComponentModel.INotifyPropertyChanged
,但我相信您仍然必须为要链接的每个变量手动编写一个getter和setter。
答案 0 :(得分:0)
尝试数据绑定
textBox.DataBindings.Add("Text", this, "PropertyToBind");
请注意,“ PropertyToBind”是在类中声明的属性名称,例如表单