(ボタングループで)
あるトグルボタンの状態が変化したときに発生させるイベントに
ボタンのStateChangedを利用しようとしたら、
MacとWindowsで挙動が変わったので、そのメモ。
Macでは
あるボタン上でマウスプレスしたときに2回
さらにマウスリリースしたときに2回
別のボタンが選択され、トグルの状態が変化したときに1回
StateChangedイベントが呼び出されたのに対し、
Windowsでは上記に加えて
マウスカーソルがボタン上にきたときに1回、
マウスカーソルがボタンから離れたときに1回、
と多く呼び出されてました。
どちらでも動くように、
安全なソースコードにする必要がありそう。
あるトグルボタンの状態が変化したときに発生させるイベントに
ボタンのStateChangedを利用しようとしたら、
MacとWindowsで挙動が変わったので、そのメモ。
Macでは
あるボタン上でマウスプレスしたときに2回
さらにマウスリリースしたときに2回
別のボタンが選択され、トグルの状態が変化したときに1回
StateChangedイベントが呼び出されたのに対し、
Windowsでは上記に加えて
マウスカーソルがボタン上にきたときに1回、
マウスカーソルがボタンから離れたときに1回、
と多く呼び出されてました。
どちらでも動くように、
安全なソースコードにする必要がありそう。
CPUコアが複数ある時、マウス関係のイベントがコア数だけ発生することがあります。
以前それではまった経験が。
マウスプレスやマウスリリースで2回状態が変化する理由はよくわからなかったのですが、
そういうことなのかもしれませんね。
マルチプラットフォームを謳いたいので、色んな環境での動作を調べておこうと思います