CRS - イベント
ユーザ定義イベントを利用したデータの受け渡し
ユーザ定義イベントを利用してデータを渡すことが可能です。
イベント送付側にObjectクラスのpostEventメソッドでイベント名や付随するオブジェクトを定義し、イベント送付側にこのイベントのイベントハンドラ(OnXXX{..})を定義します。 postEventメソッド実行後、イベントがイベントハンドラで捕捉されることで処理が行われます。
下記のサンプルではdialogで入力したデータをformへ渡しています。イベント送付側(dialog)のpostEventメソッドが実行されると、 イベント受信側(form)のOnUserEventイベントハンドラでイベントが捕捉され、TextBoxに渡されたデータが設定されます。
【dialogでTextBoxに値を入力】
【form1に画面遷移】
データの受け渡しは名前空間を利用する方法でも可能です。
詳細は
名前空間を利用したデータの受け渡し
を参照してください。
[form1.crs]
※サンプルはform1.crsを起動してお試しください。
Form form1 { width = 800; height = 600; TextBox TextBox1 { x = 48; y = 96; width = 282; height = 24; } Button Button1 { x = 160; y = 24; width = 168; height = 24; title = "ダイアログ画面を表示"; font = new Font("MS UI Gothic", 10, true); Function OnTouch( e ) { form1.get("dialog1.crs"); } } Label Label1 { x = 48; y = 64; width = 280; height = 32; value = "ダイアログ画面を閉じた後、ダイアログ画面のTextBoxに入力した内容が設定されます。"; border = BORDER_NONE; verticalAlign = ALIGN_STD; font = new Font("MS UI Gothic", 10, true, false, false, false); } # ユーザ定義イベント Function OnUserEvent(e){ form1.Textbox1.value = e.UserData1; } if (!Application.DESIGNTIME) { # ここに初期化処理を記述してください。 } }
[dialog1.crs]
Dialog dialog1 { title = "dialog1"; Form dialogForm { width = 600; height = 400; Label Label1 { x = 48; y = 32; width = 232; height = 22; value = "テキストボックスに値を入力して下さい"; font = new Font("MS UI Gothic", 10, true); border = BORDER_NONE; verticalAlign = ALIGN_MIDDLE; } TextBox TextBox1 { x = 48; y = 54; width = 280; height = 24; } Button Button1 { x = 199; y = 110; width = 131; height = 24; title = "form1へ戻る"; font = new Font("MS UI Gothic", 10, true); Function OnTouch( e ) { var eventName ="UserEvent"; var userEvent1 = new Event( eventName ){ String UserData1; } userEvent1.UserData1.value = dialog1.dialogForm.TextBox1; # ユーザー定義イベントの発生 postEvent(userEvent1); dialog1.delete(); } } } if (!Application.DESIGNTIME) { # ここに初期化処理を記述してください。 } }
Biz-Collections Bizの宝箱 トップへ
Biz/Browser DT・Biz/Designer DT TIPS集 トップへ