だから私は、スケジューラ型プログラムの他の誰かのコードに取り組んでいます。彼は、10 秒ごとに実行するタイマーを作成して、実行する必要があるスケジュールのリストをチェックします。スケジュールがあるかどうか、または現在実行中のスケジュールがあるかどうか (それぞれ黄色と緑色) に応じて、Schedule.button.forecolor を更新するように変更しました。タイマーのコードは、スケジュール フォーム ファイルにあります。
問題は、タイマーがプロジェクトの起動時に呼び出されることです。これにより、ユーザーが実際にタイマーを開始するためにスケジューラ フォームをクリックする必要がなくなります。ただし、このタイマーが起動時に呼び出されると、タイマーはフォーム コード上にあるため、タイマーを開始するためにこのフォームのインスタンスが作成されます。もちろん、後でページにアクセスしたときは別のインスタンスなので、ボタンは更新されません。
この問題を解決するにはどうすればよいですか? 古いコードをリファクタリングしてタイマー インスタンスを別のファイルに分離し、それを呼び出す必要がありますか? または、起動時にタイマーを開始するより良い方法はありますか?