0

変数の値( int 、 string など)が変更されたときに何かを「トリガー」できるかどうか疑問に思っていましたか?

TextBox tbの値を示すがあるとしますString MyString。だから私がやりたいことは次のようなものです:

MyString.ValueChanged += new EventHandler(UpdateTextBox);

public void UpdateTextBox(object sender, EventArgs e)
{
tb.Text = MyString;
}

テキストボックスを複数行で更新する必要がないようにするため。これを行う方法はありますか?ありがとう !

4

2 に答える 2

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;
于 2013-01-23T11:50:16.990 に答える
4

intおよびなどの値stringは不変です。彼らは変えることができません。

于 2013-01-23T11:50:07.227 に答える