mar*_*vin 0 c# events updates event-handling
我只是想知道当变量的值(如int,string等)发生变化时是否可以"触发"某些东西?
假设我有一个TextBox tb显示值的String MyString.所以我想做的是这样的:
MyString.ValueChanged += new EventHandler(UpdateTextBox);
public void UpdateTextBox(object sender, EventArgs e)
{
tb.Text = MyString;
}
Run Code Online (Sandbox Code Playgroud)
为了不必更新多行文本框.有没有办法做到这一点?谢谢 !
Mar*_*ell 10
一个string 永远不会改变.它是不可改变的(除非邪恶的代码在引擎盖下工作).如果MyString是财产,那么你当然可以有一个MyStringChanged事件,挂钩是到事件处理程序.
private string myString;
public string MyString {
get { return myString; }
set {
if(myString != value) {
myString = value;
var handler = MyStringChanged;
if(handler!=null) handler(this,EventArgs.Empty);
}
}
}
public event EventHandler MyStringChanged;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |