更新 : 2007 年 11 月
このレッスンでは、Timer コンポーネントを使用して、ユーザー入力を要求することなく処理を実行する方法を説明します。
プログラムで処理を繰り返し実行すると、ファイルを数分おきに保存したり、ユーザー インターフェイスを更新したりする場合などに、役に立つことがあります。Timer コンポーネントを使用すると、ユーザーからの入力がなくても、あらかじめ設定した処理を、あらかじめ設定した間隔で実行できます。
Timer コンポーネントは、実行時のビジュアル表示を持たないという点で、これまで使用したコントロールとは異なります。ビジュアル表示を持たないコントロールは、コンポーネントと呼ばれます。ユーザーには Timer コンポーネントと直接対話する手段がないため、このコンポーネントはプログラムの実行時にバックグラウンドで実行されます。
Timer コンポーネントには、最もよく使用されるメンバとして、2 つのプロパティと 1 つのイベントがあります。System.Timers.Timer.Enabled プロパティは、Timer コンポーネントが機能するかどうかを決定します。Enabled が True に設定されている場合、Timer はアクティブです。Enabled が False に設定されている場合、Timer はアクティブではありません。
System.Timers.Timer.Interval プロパティは、Timer のタイマ刻み間隔であるミリ秒数を決定します。たとえば、Interval プロパティが 1000 に設定されている場合、Timer コンポーネントは Tick イベントを 1000 ミリ秒、つまり 1 秒ごとに発生させます。
Tick イベントは、Timer コンポーネントによって、あらかじめ設定した間隔で発生します。この間隔は、Interval プロパティの値に応じて決定されます。Timer.Tick イベント ハンドラにコードを追加すると、このコードは Tick イベントが発生するたびに実行されます。
Enabled プロパティと Interval プロパティを設定し、Tick イベント ハンドラにコードを追加することで、ユーザーによる操作の必要なしに設定した間隔で実行されるコードを作成できます。
やってみよう
Timer コンポーネントを使用するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスの [テンプレート] ペインで、[Windows アプリケーション] をクリックします。
[プロジェクト名] ボックスに「Timer」と入力し、[OK] をクリックします。
新しい Windows フォーム プロジェクトが開きます。
ツールボックスから、フォームに Label コントロールと Timer コンポーネントをドラッグします。
Timer コンポーネントはフォーム自体には表示されませんが、その下のコンポーネント トレイに表示されます。これは、Timer がビジュアル表示を持たないためです。
Timer コンポーネントを選択し、[プロパティ] ウィンドウで、Enabled プロパティを True に、Interval プロパティを 1000 に、それぞれ設定します。
Timer コンポーネントをダブルクリックしてコード エディタを表示します。
Timer1_Tick イベント ハンドラに次のコードを追加します。
Label1.Text = My.Computer.Clock.LocalTime.ToLongTimeString
F5 キーを押して、アプリケーションを実行します。
ラベル内のテキストが、正確に 1 秒ごとに更新されます。
次の手順
このレッスンでは、Timer コンポーネントを使用して設定した間隔でコードを実行する方法を説明しました。Timer コンポーネントを使用すると、コードにスケジュールを設定して、任意の間隔で定期的に実行できます。これで、ガイド ツアーのこのセクションのレッスンは終了です。
次のレッスンでは、複数項目コントロールを使用し、ユーザーがどの項目を選択したかを判断する方法について説明します。
次のレッスン : 「複数項目コントロール : ListBox コントロールと ComboBox コントロールを使用する」
参照
参照
Timer コンポーネントの概要 (Windows フォーム)