次の方法で共有


Timer.AutoReset プロパティ

指定した間隔が経過するたびに、または経過した後に 1 回だけ、 TimerElapsed イベントを発生させるかどうかを示す値を取得または設定します。

Public Property AutoReset As Boolean
[C#]
public bool AutoReset {get; set;}
[C++]
public: __property bool get_AutoReset();public: __property void set_AutoReset(bool);
[JScript]
public function get AutoReset() : Boolean;public function set AutoReset(Boolean);

プロパティ値

指定した間隔が経過するたびに TimerElapsed イベントを発生させる場合は true 。指定した間隔が経過した後に 1 回だけ Elapsed イベントを発生させる場合は false 。既定値は true です。

解説

Start が呼び出された時点で既に Timer が有効になっていた場合、間隔はリセットされます。 AutoResetfalse の場合は、 Start メソッドを呼び出して再びカウントを開始する必要があります。

間隔をリセットした場合は、 Elapsed イベントがいつ発生するかに影響します。たとえば、間隔を 5 秒に設定し、 Enabledtrue に設定した場合は、 Enabled を設定した時刻からカウントが開始します。カウントが 3 秒のときに間隔を 10 秒にリセットした場合、最初の Elapsed イベントは Enabled プロパティを true に設定してから 13 秒後に発生します。

使用例

[Visual Basic, C#, C++] 10 秒経過すると、コンソールに "Hello World!" と表示する Timer を作成する例を次に示します。

[Visual Basic, C#, C++] この例では、 System.Timers 名前空間を使用します。

 
Public Class Timer2
    
    Public Shared Sub Main()
        ' Create a new Timer with Interval set to 10 seconds.
        Dim aTimer As New System.Timers.Timer(10000)
        AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
        ' Only raise the event the first time Interval elapses.
        aTimer.AutoReset = False
        aTimer.Enabled = True
        
        Console.WriteLine("Press 'q' to quit the sample.")
        While Console.Read() <> CInt("q")
        End While
    End Sub

    ' Specify what you want to happen when the event is raised.
    Private Shared Sub OnTimedEvent(source As Object, e As ElapsedEventArgs)
        Console.WriteLine("Hello World!")
    End Sub
End Class


[C#] 
public class Timer2
 {
 
     public static void Main()
     {
       // Create a new Timer with Interval set to 10 seconds.
       System.Timers.Timer aTimer = new System.Timers.Timer(10000);
       aTimer.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
       // Only raise the event the first time Interval elapses.
       aTimer.AutoReset = false;
       aTimer.Enabled = true;
 
       Console.WriteLine("Press \'q\' to quit the sample.");
       while(Console.Read()!='q');
     }
 
     // Specify what you want to happen when the event is raised.
     private static void OnTimedEvent(object source, ElapsedEventArgs e) 
     {
       Console.WriteLine("Hello World!");
     }
 }
 

[C++] 
public __gc class Timer2
{
public:
   static void Main() {
      // Create a new Timer with Interval set to 10 seconds.
      System::Timers::Timer* aTimer = new System::Timers::Timer(10000);
      aTimer->Elapsed+=new ElapsedEventHandler(0, OnTimedEvent);
      // Only raise the event the first time Interval elapses.
      aTimer->AutoReset = false;
      aTimer->Enabled = true;
   }
private:

   // Specify what you want to happen when the Elapsed event is raised.
   static void OnTimedEvent(Object* /*source*/, ElapsedEventArgs* /*e*/)
   {
      Console::WriteLine(S"Hello World!");
   }
};

int main()
{
   Timer2::Main();

   Console::WriteLine(S"Press \'q\' to quit the sample.");
   while(Console::Read()!='q');
} 

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Timer クラス | Timer メンバ | System.Timers 名前空間 | Interval | Enabled | Start | Elapsed