private void button_StartRecording_Click(object _s, EventArgs _e) { StartRecording(); // 開始時に間隔を指定する var timer = new System.Timers.Timer(100/*msec*/); // Elapsedイベントにタイマー発生時の処理を設定する timer.Elapsed += (sender, e) => { try { timer.Stop(); // もしくは timer.Enabled = false; // 何らかの処理 Debug.WriteLine($"rms: {rms}"); progressBar_AudioMeter.BeginInvoke(new Action(() => { //float value = (float)Math.Log10(rms + 0.001); progressBar_AudioMeter.Value = (int)(audioVolumeMax * 100.0); //UIスレッドで実行すべき処理 })); } finally { timer.Start(); // もしくは timer.Enabled = true; } }; // タイマーを開始する timer.Start(); }