有很多種方法。
您可以使用要綁定到的控件的databindings屬性。以下應引導您更好地回答: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.databindings(v=vs.110).aspx
(可選)您可以使用自定義事件,只需在具有該控件的窗體上註冊這些事件即可。事件發生時,在必要時處理事件。
例子:
在模型類:
class myModel
{
public event EventHandler OnNameChanged(object sender, NameChangedEventArgs e); = delegate { };
private _name;
public string Name
{
get { return _name; }
set
{
_name = value;
if (OnNameChanged != null)
OnNameChanged(this, new NameChangedEventArgs(value))
}
}
}
public class NameChangedEventArgs : EventArgs
{
private _name;
public NameChangedEventArgs(string name) { _name = name; }
public Name { get { return _name; } }
}
然後在你的形式,註冊事件:所以現在
public class form1
{
private myModel model;
public form()
{
Initialize();
}
private void Initialize()
{
model.OnNameChanged += new EventHandler(model_OnNameChangedEvent);
}
private void model_OnNamedChangedEvent(object sender, NameChangedEventArgs e)
{
textbox.text = e.Name;
}
}
,當model.Name變化,模型的OnNameChanged事件觸發。任何已註冊到該事件的對象都可以用它們自己的方式處理它。
很高興看到代碼的和平,以瞭解到底是什麼問題。計時器有事件。如果沒有事件或可綁定屬性,那麼您仍然可以調查價值。 – Sinatr 2014-11-14 14:30:51
你看過BindingSource ..嗎? [如何:使用BindingSource和INotifyPropertyChanged接口提高更改通知](http://msdn.microsoft.com/en-us/library/vstudio/ms184414(v = vs.100).aspx) – MethodMan 2014-11-14 14:31:27