ソフトウェア業界では、我々は、我々は多くの場合、ときに変更、この時点でいくつかのことを行うために、特定のポイントにリアルタイム監視が発生しません
それはプロパティのリアルタイム値を監視することでプログラムに、トリガ・イベントは、その値が変化するときに発生コアは現在のセットの値を決定するために、プロパティの設定方法を利用することで、元の値に等しい等しい直接割り当て場合等しくない場合、値が変更されたことを示す、無視、彼自身のメソッド呼び出しに応じて、デリゲートを宣言し、イベントトリガ方法
コアコード:
パブリック デリゲート 無効 tempChange(オブジェクト送信者、EventArgsの電子)。 パブリック イベントtempChange onTempChange。 プライベート ブール _temp = 偽; パブリック ブールのTemp { 取得 { 戻り_tempを。} 集合 { 場合(= _temp!値) { onTempChange(新しいオブジェクト() 、新規のEventArgs())。 } _temp = 値。
}
}
私たちがデモを行うの下には、テストします
私たちは、それが対応するイベントをトリガするように、我々は、一時ボタンで、このプロパティの値を変更するボタンを追加lableを追加するには、トップから作成します
使用してシステムを。 使用してSystem.Collections.Genericを。 使用してSystem.ComponentModelを。 使用してSystem.Dataを。 使用System.Drawingを。 使用してSystem.Linqのを。 使用してSystem.Textのを。 使用してSystem.Threading.Tasksを。 使用してのSystem.Windows.Formsを。 名前空間WindowsFormsApplication3 { パブリック 部分 クラスをForm1:フォーム { 公共のForm1() { のInitializeComponent(); } int型 i = 0 ; プライベート 無効 Form1_Load(オブジェクト送信者、のEventArgs eを) { ChangeEventの + = Form1_changeEvent。 } ボイド Form1_changeEvent(文字列値) { この .richTextBox1.Invoke(新しいアクション(()=> { この .richTextBox1.AppendText(" 当前lable的值为" +値+ " \ R \ n " );}))。 } プライベート ボイドのbutton1_Click(オブジェクト送信者、のEventArgs e)は { 温度は = I +は""; ます。Label1.Text = 温度; I ++ ; } パブリック デリゲート ボイド ChangeDelegate(文字列値)。 パブリック イベントChangeDelegate ChangeEventの。 公共の 文字列_temp。 公共の 文字列のTemp { 取得 { 戻り_tempを。} 集合 { 場合(_temp =!値) { ChangeEventの(値)。 } _temp =値; } } } }
テスト:
私たちは、ボタンのすべてのクリックは、それによってイベントをトリガする、すべてのTEMPの値を変更見ることができます------ ChangeEventのは、リッチテキストボックスにテキストを追加します