API version 4
iOSAndroidWindows
UseChangeプロパティを$TRUEに設定したオブジェクトのデフォルトプロパティの変化で発生するイベントです。
Changeイベントは、デフォルトプロパティの変化で発生するので、オブジェクト値の変化に連動した挙動を行う際に利用できます。
多くのクラスではデフォルトプロパティの変化により、クラス独自の別のイベントが発生します。例えばTextBoxクラスでは、入力があった場合にTouchイベントが発生します。入力があるとデフォルトプロパティのValueに格納されるため、UseChangeプロパティを$TRUEに設定しておくことで同時にChangeイベントも発生しますが、通常はTouchイベントを利用したほうが効率的です。
UseChangeプロパティを$TRUEに設定してChangeイベントを利用する意義があるのは、デフォルトプロパティが変化する操作でイベントが発生しないクラスの場合です。例えばStringクラスはValueプロパティの変化でもイベントは発生しません。Stringオブジェクトを監視し、値の変化に反応する必要がある場合は、UseChangeプロパティを$TRUEに設定するとChangeイベントが発生します。
また、もうひとつの用途として、画面入力とスクリプトによる値の変化を共通したイベントハンドラで処理したい場合があります。例えば、TextBoxクラスでUseChangeプロパティを$TRUEに設定した場合は、画面からのキー入力ではTouchイベントとChangeイベントが発生し、スクリプトからの値の変更ではChangeイベントだけが発生します。