rawinput を使用してタッチ イベントを取得し、画面に触れたときに 1 回だけ何かを実行したいと考えています。これは一例です。
private volatile bool running = false;
private object runLock = new object();
private void OnTouchOnHandler(object sender, EventArgs e)
{
lock (runLock)
{
if (!running)
{
MessageBox.Show("1");
running = true;
}
}
}
最初の 3 ~ 4 回画面に触れると、いくつかの MessageBox が表示されます。それは本当に奇妙です。ロック変数と揮発変数が最初に機能しないのはなぜですか?