- プロジェクトの作成
- グラフィックオブジェクト
- オブジェクトと変数のリファレンス
- プロジェクトの拡張
- チュートリアル
- グラフィックオブジェクト チュートリアル
サブスクリプションを作成する
サブスクリプションは
Start()
メソッド内に作成します。
ヒント:
新しいメソッドを自動的に挿入するには:
- Visual Studio で+=演算子の後にキャレットを置き、[を 2 回押します。TAB]
- Visual Studio Code では、エディターの提案を参照してください。
例
この例では、
Session_UserChange
メソッドは UserChange
イベントハンドラーと +=
演算子を使用してユーザー変更イベントに購読されます。public override void Start() { Session.UserChange += Session_UserChange; }
重要:
メソッド内の
Stop()
サブスクリプションを常にキャンセルして、メモリー リークを回避します。「サブスクリプションをキャンセルする」を参照してください。次の例は、
Session_UserChange
メソッドを示しています。private void Session_UserChange(object sender, UserChangeEventArgs e) { Log.Info(e.newUser.BrowseName); }
- sender
- イベントのノード起点に対応するIUAObjectオブジェクト。
- e
- イベントハンドラーのデータタイプ (この例ではUserChangeEventArgs) に基づくイベント データを含む C# オブジェクト。
イベントハンドラー
イベントタイプに応じて、異なるイベントハンドラーを使用してサブスクリプションを作成します。
- 変数イベントの値の変更
- 変数の値の変更のためにメソッドを購読するには、VariableChangeイベントハンドラーを使用します。これはIUAVariableクラスが提供します。「IUAVariable.VariableChange」を参照してください。
- オブジェクトによって生成されたすべてのイベント
- オブジェクトによって生成されるすべてのイベントにメソッドを購読するにはUAEventイベントハンドラーを使用します。これはIUAObjectクラスが提供します。「IUAObject.UAEvent」を参照してください。
- オブジェクトの特定のイベント
- オブジェクトによって生成された特定のイベントにメソッドを購読するには、タイプによって提供される対応するイベントハンドラーを使用します。この例では、OnMouseClickイベントハンドラーはButton2_OnMouseClickメソッドをButton2が押されるたびに実行します。OnMouseClickイベントハンドラーはButtonクラスから提供されます。public override void Start() { var button2 = Owner.Get<Button>("Button2"); button2.OnMouseClick += Button2_OnMouseClick; } private void Button2_OnMouseClick(object sender, MouseClickEvent e) { var label2 = Owner.Get<Label>("Label2"); var button = (Button)sender; label2.Text = "Mouse click event on " + button.BrowseName; }
ご質問やご意見