今回はPowerAppsでダブルクリック時のイベントを発生させる方法について紹介します。
Power Apps には、VBA のような「ダブルクリック専用プロパティ」はありません。
しかし、1回目のクリック時に PC上の現在時刻 を記録し、
2回目のクリックまでの経過時間を比較することで、実質的なダブルクリック動作を再現できます。
ちょこちょこ使いたい処理なので簡単にコピペできるコードをメモしていきます。
簡単にダブルクリックイベントを発生させるコード例
ダブルクリックさせたいコントロールのOnSelectプロパティに以下のようにコード記述します。
If( // ダブルクリックの判定を開始
Not IsBlank(ClickJikan) && // 前回クリック時刻が記録されているか
((Now() - ClickJikan) * 86400) < 0.4, // 前回からの経過が 0.4 秒未満なら成立(86400は24時間の秒)
Set(ClickJikan, Blank()); // ダブルクリック成立 変数クリア
Navigate(Screen2), //ここの行に処理を書く(今回例はNavigate)
Set(ClickJikan, Now()) // 1回目クリック → 現在時刻を記録
)
Not IsBlank(ClickJikan) && // 前回クリック時刻が記録されているか
((Now() - ClickJikan) * 86400) < 0.4, // 前回からの経過が 0.4 秒未満なら成立(86400は24時間の秒)
Set(ClickJikan, Blank()); // ダブルクリック成立 変数クリア
Navigate(Screen2), //ここの行に処理を書く(今回例はNavigate)
Set(ClickJikan, Now()) // 1回目クリック → 現在時刻を記録
)
システム時刻でコンマ何秒でクリックしているかといった判定をしている感じのコードです。
上記赤い部分にダブルクリック後にやりたい処理コードをかけばOKです。
今回のコード例だとテキストボックスをダブルクリックしたらscreen2へ遷移します。
今回のコード例だとテキストボックスをダブルクリックしたらscreen2へ遷移します。
タイマーイベントとの組み合わせの方法もありますが、あっちこっちコード書いたり設定するのがめんどいので、私はこの方法を今のところ使っています。
今回は以上です。




コメント