Stopwatchとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > Stopwatchの意味・解説 

ストップウオッチ【stopwatch】

読み方:すとっぷうおっち

針を自由に止めたり動かしたりして、時間を秒以下の単位まで精密にはかるための時計運動競技学術研究などに使用する


Stopwatch クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

経過時間正確に計測するために使用できるメソッドプロパティセット提供します

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

public class Stopwatch
public ref class Stopwatch
public class Stopwatch
public class Stopwatch
解説解説

Stopwatch インスタンスは、1 つ間隔経過時間、または複数間隔経過時間合計計測できます一般的な Stopwatchシナリオでは、Start メソッド呼び出してから、最終的に Stop メソッド呼び出し、Elapsed プロパティ使用して経過時間確認します

Stopwatch インスタンスには、実行中と停止中の状態がありますStopwatch現在の状態判断するには、IsRunning を使用します経過時間計測開始するには、Start使用します経過時間計測停止するには、Stop使用します経過時間の値を問い合わせるには、Elapsed、ElapsedMilliseconds、または ElapsedTicks の各プロパティ使用しますインスタンス実行中または停止中に経過時間プロパティ問い合わせることができます経過時間プロパティは、Stopwatch実行中は徐々に増加しインスタンス停止中は変化しません。

既定では、Stopwatch インスタンス経過時間の値は、計測されすべての時間間隔合計等しくなりますStart呼び出すたびに、累積経過時間カウント開始されます。Stop呼び出すたびに、現在の間隔計測終了して累積経過時間の値を固定します既存Stopwatch インスタンス累積経過時間消去するには、Reset メソッド使用します

Stopwatch は、基になるタイマ機構タイマ刻みカウントして、経過時間計測しますインストールされているハードウェアおよびオペレーティング システムが高解像力パフォーマンス カウンタサポートしている場合Stopwatch クラスはそのカウンタ使用して経過時間計測しますそれ以外場合Stopwatch クラスシステム タイマ使用して経過時間計測しますStopwatch タイミング実装精度および解像力判断するには、Frequency フィールドおよび IsHighResolution フィールド使用します

Stopwatch クラスは、マネージ コード内のタイミング関連パフォーマンス カウンタ操作支援します。特に、Frequency フィールドおよび GetTimestamp メソッドは、アンマネージ Win32 API QueryPerformanceFrequency および QueryPerformanceCounter代わりに使用できます

メモメモ

マルチプロセッサ コンピュータでは、スレッド実行されているプロセッサ問題にはなりません。ただし、BIOS または HAL (Hardware Abstraction Layer) のバグにより、プロセッサごとにタイミング結果異な可能性ありますスレッドプロセッサ アフィニティ指定するには、ProcessThread.ProcessorAffinity メソッド使用します

使用例使用例

Stopwatch クラス使用してWindows フォーム アプリケーションストップウォッチ操作実装する例を次に示します

Imports System
Imports System.Diagnostics
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Drawing2D

Public Class formMain
    Inherits System.Windows.Forms.Form

    Dim stopWatch As StopWatch
    Dim captureLap As Boolean

    Public Sub New()

        MyBase.New()
        stopwatch = New StopWatch()
        captureLap = False
        InitializeComponent()

    End Sub

    ' Override dispose method to clean up the component list.
    Protected Overloads Overrides
 Sub Dispose(ByVal disposing As
 Boolean)
        If disposing Then
            If Not (components Is
 Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    Shared Sub Main()
        Application.Run(New formMain)
    End Sub

    ' Define event handlers for various form events.

    Private Sub buttonStartStop_Click(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 buttonStartStop.Click

        ' When the timer is stopped, this button event starts 
        ' the timer.  When the timer is running, this button 
        ' event stops the timer.
        If stopWatch.IsRunning Then

            ' Stop the timer; show the start and reset buttons.
            stopWatch.Stop()
            buttonStartStop.Text = "Start"
            buttonLapReset.Text = "Reset"
        Else
            ' Start the timer; show the stop and lap buttons.
            stopWatch.Start()
            buttonStartStop.Text = "Stop"
            buttonLapReset.Text = "Lap"
            labelLap.Visible = False
            labelLapPrompt.Visible = False
        End If
    End Sub

    Private Sub buttonLapReset_Click(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 buttonLapReset.Click

        ' When the timer is stopped, this button event resets
        ' the timer.  When the timer is running, this button  
        ' event captures a lap time.
        If buttonLapReset.Text = "Lap"
 Then
            If stopWatch.IsRunning Then

                ' Set the object state so that the next
                ' timer tick will display the lap time value.

                captureLap = True
                labelLap.Visible = True
                labelLapPrompt.Visible = True
            End If
        Else
            ' Reset the stopwatch and the displayed timer value.
            labelTime.Text = "00:00:00.00"
            buttonLapReset.Text = "Lap"
            stopWatch.Reset()
            labelLap.Visible = False
            labelLapPrompt.Visible = False
        End If
    End Sub

    Private Sub timerMain_Tick(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 timerMain.Tick

        ' When the timer is running, update the displayed timer 
        ' value for each tick event.

        If stopWatch.IsRunning Then
            ' Get the elapsed time as a TimeSpan value.
            Dim ts As TimeSpan = stopWatch.Elapsed

            ' Format and display the TimeSpan value.
            labelTime.Text = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
 _
                ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds/10)

            ' If the user has just clicked the "Lap" button
,
            ' then capture the current time for the lap time.
            If captureLap Then
                labelLap.Text = labelTime.Text
                captureLap = False
            End If
        End If
    End Sub


    Private Sub labelExit_Click(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 labelExit.Click

        ' Close the form when the user clicks the close button.
        Me.Close()
    End Sub

    Private Sub labelTopLeft_Click(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 labelTopLeft.Click

        Me.Location = New Point(0, 0)
    End Sub

    Private Sub labelBottomLeft_Click(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 labelBottomLeft.Click

        Me.Location = New Point(0, Screen.PrimaryScreen.WorkingArea.Height
 - Me.Height)
    End Sub

    Private Sub labelTopRight_Click(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 labelTopRight.Click

        Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width
 - Me.Width, 0)
    End Sub

    Private Sub labelBottomRight_Click(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 labelBottomRight.Click

        Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width
 - Me.Width, Screen.PrimaryScreen.WorkingArea.Height - Me.Height)
    End Sub

    Private Sub formMain_Click(ByVal
 sender As Object, _
            ByVal e As System.EventArgs) Handles
 MyBase.Click

        Me.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width
 - Me.Width) / 2, (Screen.PrimaryScreen.WorkingArea.Height -
 Me.Height) / 2)
    End Sub

    Private Sub formMain_Load(ByVal
 sender As System.Object, _
            ByVal e As System.EventArgs) Handles
 MyBase.Load

        DrawForm()
        Me.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width
 - Me.Width) / 2, (Screen.PrimaryScreen.WorkingArea.Height -
 Me.Height) / 2)
    End Sub

    Private Sub DrawForm()

        ' Shape the viewer form with rounded edges.
        Dim GraphicsPath As New
 Drawing2D.GraphicsPath

        GraphicsPath.AddArc(0, 0, 100, 100, 180, 90)
        GraphicsPath.AddArc(100, 0, 100, 100, 270, 90)
        GraphicsPath.AddArc(100, 100, 100, 100, 0, 90)
        GraphicsPath.AddArc(0, 100, 100, 100, 90, 90)

        Me.Region = New Region(GraphicsPath)
    End Sub

    Private components As System.ComponentModel.IContainer

    Private WithEvents labelExit As
 System.Windows.Forms.Label
    Private WithEvents labelTime As
 System.Windows.Forms.Label
    Private WithEvents timerMain As
 System.Windows.Forms.Timer
    Private WithEvents buttonLapReset As
 System.Windows.Forms.Button
    Private WithEvents buttonStartStop As
 System.Windows.Forms.Button
    Private WithEvents labelLapPrompt As
 System.Windows.Forms.Label
    Private WithEvents labelTimePrompt As
 System.Windows.Forms.Label
    Private WithEvents labelLap As
 System.Windows.Forms.Label
    Private WithEvents labelBottomLeft As
 System.Windows.Forms.Label
    Private WithEvents labelBottomRight As
 System.Windows.Forms.Label
    Private WithEvents labelTopLeft As
 System.Windows.Forms.Label
    Private WithEvents labelTopRight As
 System.Windows.Forms.Label

    <System.Diagnostics.DebuggerStepThrough()> Private Sub
 InitializeComponent()
        Me.components = New System.ComponentModel.Container
        Me.labelExit = New System.Windows.Forms.Label
        Me.labelTime = New System.Windows.Forms.Label
        Me.buttonLapReset = New System.Windows.Forms.Button
        Me.timerMain = New System.Windows.Forms.Timer(Me.components)
        Me.labelLap = New System.Windows.Forms.Label
        Me.buttonStartStop = New System.Windows.Forms.Button
        Me.labelLapPrompt = New System.Windows.Forms.Label
        Me.labelTimePrompt = New System.Windows.Forms.Label
        Me.labelBottomLeft = New System.Windows.Forms.Label
        Me.labelBottomRight = New System.Windows.Forms.Label
        Me.labelTopLeft = New System.Windows.Forms.Label
        Me.labelTopRight = New System.Windows.Forms.Label
        Me.SuspendLayout()
        '
        'labelExit
        '
        Me.labelExit.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
        Me.labelExit.ForeColor = System.Drawing.Color.Aqua
        Me.labelExit.Location = New System.Drawing.Point(160,
 16)
        Me.labelExit.Name = "labelExit"
        Me.labelExit.Size = New System.Drawing.Size(20,
 20)
        Me.labelExit.TabIndex = 0
        Me.labelExit.Text = "x"
        Me.labelExit.TextAlign = System.Drawing.ContentAlignment.BottomCenter
        '
        'labelTime
        '
        Me.labelTime.Font = New System.Drawing.Font("Comic
 Sans MS", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
 CType(0, Byte))
        Me.labelTime.ForeColor = System.Drawing.Color.Yellow
        Me.labelTime.Location = New System.Drawing.Point(-3,
 56)
        Me.labelTime.Name = "labelTime"
        Me.labelTime.Size = New System.Drawing.Size(208,
 32)
        Me.labelTime.TabIndex = 1
        Me.labelTime.Text = "00:00:00.00"
        '
        'buttonLapReset
        '
        Me.buttonLapReset.Font = New System.Drawing.Font("Comic
 Sans MS", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
 CType(0, Byte))
        Me.buttonLapReset.ForeColor = System.Drawing.Color.Yellow
        Me.buttonLapReset.Location = New System.Drawing.Point(104,
 160)
        Me.buttonLapReset.Name = "buttonLapReset"
        Me.buttonLapReset.Size = New System.Drawing.Size(72,
 32)
        Me.buttonLapReset.TabIndex = 4
        Me.buttonLapReset.Text = "Lap"
        '
        'timerMain
        '
        Me.timerMain.Enabled = True
        Me.timerMain.Interval = 50
        '
        'labelLap
        '
        Me.labelLap.Font = New System.Drawing.Font("Comic
 Sans MS", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,
 CType(0, Byte))
        Me.labelLap.ForeColor = System.Drawing.Color.Yellow
        Me.labelLap.Location = New System.Drawing.Point(0,
 120)
        Me.labelLap.Name = "labelLap"
        Me.labelLap.Size = New System.Drawing.Size(200,
 32)
        Me.labelLap.TabIndex = 5
        Me.labelLap.Visible = False
        '
        'buttonStartStop
        '
        Me.buttonStartStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat
        Me.buttonStartStop.Font = New System.Drawing.Font("Comic
 Sans MS", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
 CType(0, Byte))
        Me.buttonStartStop.ForeColor = System.Drawing.Color.Yellow
        Me.buttonStartStop.Location = New System.Drawing.Point(24,
 160)
        Me.buttonStartStop.Name = "buttonStartStop"
        Me.buttonStartStop.Size = New System.Drawing.Size(72,
 32)
        Me.buttonStartStop.TabIndex = 2
        Me.buttonStartStop.Text = "Start"
        '
        'labelLapPrompt
        '
        Me.labelLapPrompt.Font = New System.Drawing.Font("Comic
 Sans MS", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,
 CType(0, Byte))
        Me.labelLapPrompt.ForeColor = System.Drawing.Color.Yellow
        Me.labelLapPrompt.Location = New System.Drawing.Point(8,
 96)
        Me.labelLapPrompt.Name = "labelLapPrompt"
        Me.labelLapPrompt.Size = New System.Drawing.Size(96,
 24)
        Me.labelLapPrompt.TabIndex = 6
        Me.labelLapPrompt.Text = "Lap Time"
        Me.labelLapPrompt.Visible = False
        '
        'labelTimePrompt
        '
        Me.labelTimePrompt.Font = New System.Drawing.Font("Comic
 Sans MS", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,
 CType(0, Byte))
        Me.labelTimePrompt.ForeColor = System.Drawing.Color.Yellow
        Me.labelTimePrompt.Location = New System.Drawing.Point(0,
 24)
        Me.labelTimePrompt.Name = "labelTimePrompt"
        Me.labelTimePrompt.Size = New System.Drawing.Size(88,
 24)
        Me.labelTimePrompt.TabIndex = 7
        Me.labelTimePrompt.Text = "Time"
        '
        'labelBottomLeft
        '
        Me.labelBottomLeft.BackColor = System.Drawing.Color.Black
        Me.labelBottomLeft.ForeColor = System.Drawing.Color.Black
        Me.labelBottomLeft.Location = New System.Drawing.Point(0,
 176)
        Me.labelBottomLeft.Name = "labelBottomLeft"
        Me.labelBottomLeft.Size = New System.Drawing.Size(16,
 16)
        Me.labelBottomLeft.TabIndex = 8
        '
        'labelBottomRight
        '
        Me.labelBottomRight.BackColor = System.Drawing.Color.Black
        Me.labelBottomRight.ForeColor = System.Drawing.Color.Black
        Me.labelBottomRight.Location = New
 System.Drawing.Point(184, 176)
        Me.labelBottomRight.Name = "labelBottomRight"
        Me.labelBottomRight.Size = New System.Drawing.Size(16,
 16)
        Me.labelBottomRight.TabIndex = 9
        '
        'labelTopLeft
        '
        Me.labelTopLeft.BackColor = System.Drawing.Color.Black
        Me.labelTopLeft.ForeColor = System.Drawing.Color.Black
        Me.labelTopLeft.Location = New System.Drawing.Point(0,
 8)
        Me.labelTopLeft.Name = "labelTopLeft"
        Me.labelTopLeft.Size = New System.Drawing.Size(16,
 16)
        Me.labelTopLeft.TabIndex = 10
        '
        'labelTopRight
        '
        Me.labelTopRight.BackColor = System.Drawing.Color.Black
        Me.labelTopRight.ForeColor = System.Drawing.Color.Black
        Me.labelTopRight.Location = New System.Drawing.Point(184,
 8)
        Me.labelTopRight.Name = "labelTopRight"
        Me.labelTopRight.Size = New System.Drawing.Size(16,
 16)
        Me.labelTopRight.TabIndex = 11
        '
        'formMain
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(9,
 22)
        Me.BackColor = System.Drawing.Color.Navy
        Me.ClientSize = New System.Drawing.Size(200,
 200)
        Me.Controls.Add(Me.labelTopRight)
        Me.Controls.Add(Me.labelTopLeft)
        Me.Controls.Add(Me.labelBottomRight)
        Me.Controls.Add(Me.labelBottomLeft)
        Me.Controls.Add(Me.labelTimePrompt)
        Me.Controls.Add(Me.labelLapPrompt)
        Me.Controls.Add(Me.labelLap)
        Me.Controls.Add(Me.buttonLapReset)
        Me.Controls.Add(Me.buttonStartStop)
        Me.Controls.Add(Me.labelTime)
        Me.Controls.Add(Me.labelExit)
        Me.Font = New System.Drawing.Font("Microsoft
 Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,
 CType(0, Byte))
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
        Me.Name = "formMain"
        Me.Text = "StopWatch Sample"
        Me.TopMost = True
        Me.ResumeLayout(False)

    End Sub

End Class
using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
  
namespace StopWatchSample
{    
    public class FormMain : System.Windows.Forms.Form
    {
        private Stopwatch stopWatch;
        private Boolean captureLap;

        public FormMain()
        {
            stopWatch = new Stopwatch();
            captureLap = false;

            InitializeComponent();
        }

        protected override void Dispose( bool
 disposing )
        {
            base.Dispose( disposing );
        }

        [STAThread]
        static void Main() 
        {
            Application.Run(new FormMain());
        }

        // Define event handlers for various form events.

        private void buttonStartStop_Click(System.Object
 sender, 
            System.EventArgs e)
        {
            // When the timer is stopped, this button event starts 
            // the timer.  When the timer is running, this button 
            // event stops the timer.
            if (stopWatch.IsRunning)
            {
                // Stop the timer; show the start and reset buttons.
                stopWatch.Stop();
                buttonStartStop.Text = "Start";
                buttonLapReset.Text = "Reset";
            }
            else 
            {
                // Start the timer; show the stop and lap buttons.
                stopWatch.Start();
                buttonStartStop.Text = "Stop";
                buttonLapReset.Text = "Lap";
                labelLap.Visible = false;
                labelLapPrompt.Visible = false;
            }
        }

        private void buttonLapReset_Click(System.Object
 sender, 
                                     System.EventArgs e)
        {
            // When the timer is stopped, this button event resets
            // the timer.  When the timer is running, this button  
            // event captures a lap time.

            if (buttonLapReset.Text == "Lap")
            {
                if (stopWatch.IsRunning)
                {
                    // Set the object state so that the next
                    // timer tick will display the lap time value.

                    captureLap = true;
                    labelLap.Visible = true;
                    labelLapPrompt.Visible = true;
                }
            }
            else 
            {
                // Reset the stopwatch and the displayed timer value.

                labelLap.Visible = false;
                labelLapPrompt.Visible = false;
                labelTime.Text = "00:00:00.00";
                buttonLapReset.Text = "Lap";
                stopWatch.Reset();
            }        
        }

        private void timerMain_Tick(System.Object
 sender, 
                                    System.EventArgs e)
        {
            // When the timer is running, update the displayed timer
 
            // value for each tick event.

            if (stopWatch.IsRunning)
            {
                // Get the elapsed time as a TimeSpan value.
                TimeSpan ts = stopWatch.Elapsed;

                // Format and display the TimeSpan value.
                labelTime.Text = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
 
                    ts.Hours, ts.Minutes, ts.Seconds, 
                    ts.Milliseconds/10);

                // If the user has just clicked the "Lap"
 button,
                // then capture the current time for the lap time.

                if (captureLap)
                {
                    labelLap.Text = labelTime.Text;
                    captureLap = false;
                }
            }
        }

        private void labelExit_Click(System.Object
 sender, 
            System.EventArgs e)
        {
            // Close the form when the user clicks the close button.
            this.Close();
        }

        private void labelTopLeft_Click(object
 sender, System.EventArgs e)
        {
            this.Location = new Point(0, 0);
        }

        private void labelBottomLeft_Click(object
 sender, System.EventArgs e)
        {
            this.Location = new Point(0, Screen.PrimaryScreen.WorkingArea.Height
 - this.Height);
        }

        private void labelTopRight_Click(object
 sender, System.EventArgs e)
        {
            this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width
 - this.Width, 0);
        }

        private void labelBottomRight_Click(object
 sender, System.EventArgs e)
        {
            this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width
 - this.Width, 
                                 Screen.PrimaryScreen.WorkingArea.Height - this.Height);
        }

        private void FormMain_Click(object
 sender, System.EventArgs e)
        {
            this.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width
 - this.Width) / 2, 
                                 (Screen.PrimaryScreen.WorkingArea.Height - this.Height)
 / 2);
        }

        private void FormMain_Load(object sender,
 System.EventArgs e)
        {
            // Shape the viewer form with rounded edges.

            DrawForm();
            this.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width
 - this.Width) / 2, 
                                 (Screen.PrimaryScreen.WorkingArea.Height - this.Height)
 / 2);

        }

        private void DrawForm()
        {
            // Shape the viewer form with rounded edges.
            GraphicsPath graphicsPath = new GraphicsPath();

            graphicsPath.AddArc(0, 0, 100, 100, 180, 90);
            graphicsPath.AddArc(100, 0, 100, 100, 270, 90);
            graphicsPath.AddArc(100, 100, 100, 100, 0, 90);
            graphicsPath.AddArc(0, 100, 100, 100, 90, 90);

            this.Region = new Region(graphicsPath);
        }

        // Define various form elements.

        private System.ComponentModel.Container components = null;

        private System.Windows.Forms.Label labelExit;
        private System.Windows.Forms.Label labelTime;
        private System.Windows.Forms.Timer timerMain;
        private System.Windows.Forms.Button buttonLapReset;
        private System.Windows.Forms.Button buttonStartStop;
        private System.Windows.Forms.Label labelLapPrompt;
        private System.Windows.Forms.Label labelTimePrompt;
        private System.Windows.Forms.Label labelLap;
        private System.Windows.Forms.Label labelBottomLeft;
        private System.Windows.Forms.Label labelBottomRight;
        private System.Windows.Forms.Label labelTopLeft;
        private System.Windows.Forms.Label labelTopRight;

        private void InitializeComponent()
        {
            this.SuspendLayout();            

            this.components = new System.ComponentModel.Container();
            this.labelExit = new System.Windows.Forms.Label();
            this.labelTime = new System.Windows.Forms.Label();
            this.buttonLapReset = new System.Windows.Forms.Button();
            this.timerMain = new System.Windows.Forms.Timer(this.components);
            this.labelLap = new System.Windows.Forms.Label();
            this.buttonStartStop = new System.Windows.Forms.Button();
            this.labelLapPrompt = new System.Windows.Forms.Label();
            this.labelTimePrompt = new System.Windows.Forms.Label();
            this.labelBottomLeft = new System.Windows.Forms.Label();
            this.labelBottomRight = new System.Windows.Forms.Label();
            this.labelTopLeft = new System.Windows.Forms.Label();
            this.labelTopRight = new System.Windows.Forms.Label();
        
            // labelExit
        
            this.labelExit.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
            this.labelExit.ForeColor = System.Drawing.Color.Aqua;
            this.labelExit.Location = new System.Drawing.Point(160,
 16);
            this.labelExit.Name = "labelExit";
            this.labelExit.Size = new System.Drawing.Size(20,
 20);
            this.labelExit.TabIndex = 0;
            this.labelExit.Text = "x";
            this.labelExit.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
            this.labelExit.Click += new System.EventHandler(this.labelExit_Click);
            
        
            // labelTime
        
            this.labelTime.Font = new System.Drawing.Font("Comic
 Sans MS", 18.0F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
            this.labelTime.ForeColor = System.Drawing.Color.Yellow;
            this.labelTime.Location = new System.Drawing.Point(-3,
 56);
            this.labelTime.Name = "labelTime";
            this.labelTime.Size = new System.Drawing.Size(208,
 32);
            this.labelTime.TabIndex = 1;
            this.labelTime.Text = "00:00:00.00";
        
            // buttonLapReset
        
            this.buttonLapReset.Font = new
 System.Drawing.Font("Comic Sans MS", 14.25F, System.Drawing.FontStyle.Bold,
 System.Drawing.GraphicsUnit.Point);
            this.buttonLapReset.ForeColor = System.Drawing.Color.Yellow;
            this.buttonLapReset.Location = new
 System.Drawing.Point(104, 160);
            this.buttonLapReset.Name = "buttonLapReset";
            this.buttonLapReset.Size = new
 System.Drawing.Size(72, 32);
            this.buttonLapReset.TabIndex = 4;
            this.buttonLapReset.Text = "Lap";
            this.buttonLapReset.Click += new
 System.EventHandler(this.buttonLapReset_Click);            
        
            // timerMain
        
            this.timerMain.Enabled = true;
            this.timerMain.Interval = 50;
            this.timerMain.Tick += new System.EventHandler(this.timerMain_Tick);
            
        
            // labelLap
        
            this.labelLap.Font = new System.Drawing.Font("Comic
 Sans MS", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
            this.labelLap.ForeColor = System.Drawing.Color.Yellow;
            this.labelLap.Location = new System.Drawing.Point(0,
 120);
            this.labelLap.Name = "labelLap";
            this.labelLap.Size = new System.Drawing.Size(200,
 32);
            this.labelLap.TabIndex = 5;
            this.labelLap.Visible = false;

            // buttonStartStop
        
            this.buttonStartStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.buttonStartStop.Font = new
 System.Drawing.Font("Comic Sans MS", 14.25F, System.Drawing.FontStyle.Bold,
 System.Drawing.GraphicsUnit.Point);
            this.buttonStartStop.ForeColor = System.Drawing.Color.Yellow;
            this.buttonStartStop.Location = new
 System.Drawing.Point(24, 160);
            this.buttonStartStop.Name = "buttonStartStop";
            this.buttonStartStop.Size = new
 System.Drawing.Size(72, 32);
            this.buttonStartStop.TabIndex = 2;
            this.buttonStartStop.Text = "Start";
            this.buttonStartStop.Click += new
 System.EventHandler(this.buttonStartStop_Click);           
 
        
            // labelLapPrompt
        
            this.labelLapPrompt.Font = new
 System.Drawing.Font("Comic Sans MS", 14.25F, System.Drawing.FontStyle.Regular,
 System.Drawing.GraphicsUnit.Point);
            this.labelLapPrompt.ForeColor = System.Drawing.Color.Yellow;
            this.labelLapPrompt.Location = new
 System.Drawing.Point(8, 96);
            this.labelLapPrompt.Name = "labelLapPrompt";
            this.labelLapPrompt.Size = new
 System.Drawing.Size(56, 24);
            this.labelLapPrompt.TabIndex = 6;
            this.labelLapPrompt.Text = "Lap Time";
            this.labelLapPrompt.Visible = false;
        
            // labelTimePrompt
        
            this.labelTimePrompt.Font = new
 System.Drawing.Font("Comic Sans MS", 15.75F, System.Drawing.FontStyle.Regular,
 System.Drawing.GraphicsUnit.Point);
            this.labelTimePrompt.ForeColor = System.Drawing.Color.Yellow;
            this.labelTimePrompt.Location = new
 System.Drawing.Point(0, 24);
            this.labelTimePrompt.Name = "labelTimePrompt";
            this.labelTimePrompt.Size = new
 System.Drawing.Size(88, 24);
            this.labelTimePrompt.TabIndex = 7;
            this.labelTimePrompt.Text = "Time";
        
            // labelBottomLeft
        
            this.labelBottomLeft.BackColor = System.Drawing.Color.Black;
            this.labelBottomLeft.ForeColor = System.Drawing.Color.Black;
            this.labelBottomLeft.Location = new
 System.Drawing.Point(0, 176);
            this.labelBottomLeft.Name = "labelBottomLeft";
            this.labelBottomLeft.Size = new
 System.Drawing.Size(16, 16);
            this.labelBottomLeft.TabIndex = 8;
            this.labelBottomLeft.Click += new
 System.EventHandler(this.labelBottomLeft_Click);           
 
        
            // labelBottomRight
        
            this.labelBottomRight.BackColor = System.Drawing.Color.Black;
            this.labelBottomRight.ForeColor = System.Drawing.Color.Black;
            this.labelBottomRight.Location = new
 System.Drawing.Point(184, 176);
            this.labelBottomRight.Name = "labelBottomRight";
            this.labelBottomRight.Size = new
 System.Drawing.Size(16, 16);
            this.labelBottomRight.TabIndex = 9;
            this.labelBottomRight.Click += new
 System.EventHandler(this.labelBottomRight_Click);          
  
        
            // labelTopLeft
        
            this.labelTopLeft.BackColor = System.Drawing.Color.Black;
            this.labelTopLeft.ForeColor = System.Drawing.Color.Black;
            this.labelTopLeft.Location = new
 System.Drawing.Point(0, 8);
            this.labelTopLeft.Name = "labelTopLeft";
            this.labelTopLeft.Size = new System.Drawing.Size(16,
 16);
            this.labelTopLeft.TabIndex = 10;
            this.labelTopLeft.Click += new
 System.EventHandler(this.labelTopLeft_Click);            
        
            // labelTopRight
        
            this.labelTopRight.BackColor = System.Drawing.Color.Black;
            this.labelTopRight.ForeColor = System.Drawing.Color.Black;
            this.labelTopRight.Location = new
 System.Drawing.Point(184, 8);
            this.labelTopRight.Name = "labelTopRight";
            this.labelTopRight.Size = new System.Drawing.Size(16,
 16);
            this.labelTopRight.TabIndex = 11;
            this.labelTopRight.Click += new
 System.EventHandler(this.labelTopRight_Click);            

        
            // FormMain
           
            this.AutoScaleBaseSize = new System.Drawing.Size(9,
 22);
            this.BackColor = System.Drawing.Color.Navy;
            this.ClientSize = new System.Drawing.Size(200,
 200);
            this.Controls.Add(this.labelTopRight);
            this.Controls.Add(this.labelTopLeft);
            this.Controls.Add(this.labelBottomRight);
            this.Controls.Add(this.labelBottomLeft);
            this.Controls.Add(this.labelTimePrompt);
            this.Controls.Add(this.labelLapPrompt);
            this.Controls.Add(this.labelLap);
            this.Controls.Add(this.buttonLapReset);
            this.Controls.Add(this.buttonStartStop);
            this.Controls.Add(this.labelTime);
            this.Controls.Add(this.labelExit);
            this.Font = new System.Drawing.Font("Microsoft
 Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            this.Name = "FormMain";
            this.Text = "StopWatch Sample";
            this.TopMost = true;
            this.Load += new System.EventHandler(this.FormMain_Load);
            

            this.ResumeLayout(false);
        }
    }
}
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::Drawing::Drawing2D;

// The following class represents a simple stopwatch form with
// start, stop, reset, and lap time functions.
public ref class FormMain: public
 System::Windows::Forms::Form
{
private:
   Stopwatch^ stopWatch;
   Boolean captureLap;

public:
   FormMain()
   {
      stopWatch = gcnew Stopwatch;
      captureLap = false;
      InitializeComponent();
   }


public:
   ~FormMain()
   {
   }

private:
   // Define event handlers for various form events.
   void buttonStartStop_Click( System::Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      // When the timer is stopped, this button event starts 
      // the timer.  When the timer is running, this button 
      // event stops the timer.
      if ( stopWatch->IsRunning )
      {
         // Stop the timer; show the start and reset buttons.
         stopWatch->Stop();
         buttonStartStop->Text = "Start";
         buttonLapReset->Text = "Reset";
      }
      else
      {
         // Start the timer; show the stop and lap buttons.
         stopWatch->Start();
         buttonStartStop->Text = "Stop";
         buttonLapReset->Text = "Lap";
         labelLap->Visible = false;
         labelLapPrompt->Visible = false;
      }
   }

   void buttonLapReset_Click( System::Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      // When the timer is stopped, this button event resets
      // the timer.  When the timer is running, this button  
      // event captures a lap time.
      if ( buttonLapReset->Text->Equals( "Lap"
 ) )
      {
         if ( stopWatch->IsRunning )
         {
            // Set set the object state so that the next
            // timer tick will display the lap time value.
            captureLap = true;
            labelLap->Visible = true;
            labelLapPrompt->Visible = true;
         }
      }
      else
      {
         // Reset the stopwatch and the displayed timer value.
         labelLap->Visible = false;
         labelLapPrompt->Visible = false;
         labelTime->Text = "00:00:00.00";
         buttonLapReset->Text = "Lap";
         stopWatch->Reset();
      }
   }

   void timerMain_Tick( System::Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      
      // When the timer is running, update the displayed timer 
      // value for each tick event.
      if ( stopWatch->IsRunning )
      {
         
         // Get the elapsed time as a TimeSpan value.
         TimeSpan ts = stopWatch->Elapsed;
         
         // Format and display the TimeSpan value.
         labelTime->Text = String::Format( "{0:00}:{1:00}:{2:00}.{3:00}",
 ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10 );
         
         // If the user has just clicked the "Lap" button
,
         // then capture the current time for the lap time.
         if ( captureLap )
         {
            labelLap->Text = labelTime->Text;
            captureLap = false;
         }
      }
   }

   void labelExit_Click( System::Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      // Close the form when the user clicks the close button.
      this->Close();
   }

   void labelTopLeft_Click( Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      this->Location = Point(0,0);
   }

   void labelBottomLeft_Click( Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      this->Location = Point(0,Screen::PrimaryScreen->WorkingArea.Height
 - this->Height);
   }

   void labelTopRight_Click( Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      this->Location = Point(Screen::PrimaryScreen->WorkingArea.Width
 - this->Width,0);
   }

   void labelBottomRight_Click( Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      this->Location = Point(Screen::PrimaryScreen->WorkingArea.Width
 - this->Width,Screen::PrimaryScreen->WorkingArea.Height
 - this->Height);
   }

   void FormMain_Click( Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      this->Location = Point((Screen::PrimaryScreen->WorkingArea.Width
 - this->Width) / 2,(Screen::PrimaryScreen->WorkingArea.Height
 - this->Height) / 2);
   }

   void FormMain_Load( Object^ /*sender*/, System::EventArgs^
 /*e*/ )
   {
      // Shape the viewer form with rounded edges.
      DrawForm();
      this->Location = Point((Screen::PrimaryScreen->WorkingArea.Width
 - this->Width) / 2,(Screen::PrimaryScreen->WorkingArea.Height
 - this->Height) / 2);
   }

   void DrawForm()
   {
      // Shape the viewer form with rounded edges.
      GraphicsPath^ graphicsPath = gcnew GraphicsPath;
      graphicsPath->AddArc( 0, 0, 100, 100, 180, 90 );
      graphicsPath->AddArc( 100, 0, 100, 100, 270, 90 );
      graphicsPath->AddArc( 100, 100, 100, 100, 0, 90 );
      graphicsPath->AddArc( 0, 100, 100, 100, 90, 90 );
      this->Region = gcnew System::Drawing::Region( graphicsPath
 );
   }

   // Define various form elements.
   System::ComponentModel::Container^ components;
   System::Windows::Forms::Label ^ labelExit;
   System::Windows::Forms::Label ^ labelTime;
   System::Windows::Forms::Timer^ timerMain;
   System::Windows::Forms::Button^ buttonLapReset;
   System::Windows::Forms::Button^ buttonStartStop;
   System::Windows::Forms::Label ^ labelLapPrompt;
   System::Windows::Forms::Label ^ labelTimePrompt;
   System::Windows::Forms::Label ^ labelLap;
   System::Windows::Forms::Label ^ labelBottomLeft;
   System::Windows::Forms::Label ^ labelBottomRight;
   System::Windows::Forms::Label ^ labelTopLeft;
   System::Windows::Forms::Label ^ labelTopRight;
   void InitializeComponent()
   {
      this->SuspendLayout();
      this->components = gcnew System::ComponentModel::Container;
      this->labelExit = gcnew System::Windows::Forms::Label;
      this->labelTime = gcnew System::Windows::Forms::Label;
      this->buttonLapReset = gcnew System::Windows::Forms::Button;
      this->timerMain = gcnew System::Windows::Forms::Timer(
 this->components );
      this->labelLap = gcnew System::Windows::Forms::Label;
      this->buttonStartStop = gcnew System::Windows::Forms::Button;
      this->labelLapPrompt = gcnew System::Windows::Forms::Label;
      this->labelTimePrompt = gcnew System::Windows::Forms::Label;
      this->labelBottomLeft = gcnew System::Windows::Forms::Label;
      this->labelBottomRight = gcnew System::Windows::Forms::Label;
      this->labelTopLeft = gcnew System::Windows::Forms::Label;
      this->labelTopRight = gcnew System::Windows::Forms::Label;

      // labelExit
      this->labelExit->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
      this->labelExit->ForeColor = System::Drawing::Color::Aqua;
      this->labelExit->Location = System::Drawing::Point(
 160, 16 );
      this->labelExit->Name = "labelExit";
      this->labelExit->Size = System::Drawing::Size( 20,
 20 );
      this->labelExit->TabIndex = 0;
      this->labelExit->Text = "x";
      this->labelExit->TextAlign = System::Drawing::ContentAlignment::BottomCenter;
      this->labelExit->Click += gcnew System::EventHandler(
 this, &FormMain::labelExit_Click );

      // labelTime
      this->labelTime->Font = gcnew System::Drawing::Font(
 "Comic Sans MS",18.0F,System::Drawing::FontStyle::Bold,System::Drawing::GraphicsUnit::Point
 );
      this->labelTime->ForeColor = System::Drawing::Color::Yellow;
      this->labelTime->Location = System::Drawing::Point(
  -3, 56 );
      this->labelTime->Name = "labelTime";
      this->labelTime->Size = System::Drawing::Size( 208,
 32 );
      this->labelTime->TabIndex = 1;
      this->labelTime->Text = "00:00:00.00";

      // buttonLapReset
      this->buttonLapReset->Font = gcnew System::Drawing::Font(
 "Comic Sans MS",14.25F,System::Drawing::FontStyle::Bold,System::Drawing::GraphicsUnit::Point
 );
      this->buttonLapReset->ForeColor = System::Drawing::Color::Yellow;
      this->buttonLapReset->Location = System::Drawing::Point(
 104, 160 );
      this->buttonLapReset->Name = "buttonLapReset";
      this->buttonLapReset->Size = System::Drawing::Size(
 72, 32 );
      this->buttonLapReset->TabIndex = 4;
      this->buttonLapReset->Text = "Lap";
      this->buttonLapReset->Click += gcnew System::EventHandler(
 this, &FormMain::buttonLapReset_Click );

      // timerMain
      this->timerMain->Enabled = true;
      this->timerMain->Interval = 50;
      this->timerMain->Tick += gcnew System::EventHandler(
 this, &FormMain::timerMain_Tick );

      // labelLap
      this->labelLap->Font = gcnew System::Drawing::Font(
 "Comic Sans MS",14.25F,System::Drawing::FontStyle::Regular,System::Drawing::GraphicsUnit::Point
 );
      this->labelLap->ForeColor = System::Drawing::Color::Yellow;
      this->labelLap->Location = System::Drawing::Point(
 0, 120 );
      this->labelLap->Name = "labelLap";
      this->labelLap->Size = System::Drawing::Size( 200,
 32 );
      this->labelLap->TabIndex = 5;
      this->labelLap->Visible = false;

      // buttonStartStop
      this->buttonStartStop->FlatStyle = System::Windows::Forms::FlatStyle::Flat;
      this->buttonStartStop->Font = gcnew System::Drawing::Font(
 "Comic Sans MS",14.25F,System::Drawing::FontStyle::Bold,System::Drawing::GraphicsUnit::Point
 );
      this->buttonStartStop->ForeColor = System::Drawing::Color::Yellow;
      this->buttonStartStop->Location = System::Drawing::Point(
 24, 160 );
      this->buttonStartStop->Name = "buttonStartStop";
      this->buttonStartStop->Size = System::Drawing::Size(
 72, 32 );
      this->buttonStartStop->TabIndex = 2;
      this->buttonStartStop->Text = "Start";
      this->buttonStartStop->Click += gcnew System::EventHandler(
 this, &FormMain::buttonStartStop_Click );

      // labelLapPrompt
      this->labelLapPrompt->Font = gcnew System::Drawing::Font(
 "Comic Sans MS",14.25F,System::Drawing::FontStyle::Regular,System::Drawing::GraphicsUnit::Point
 );
      this->labelLapPrompt->ForeColor = System::Drawing::Color::Yellow;
      this->labelLapPrompt->Location = System::Drawing::Point(
 8, 96 );
      this->labelLapPrompt->Name = "labelLapPrompt";
      this->labelLapPrompt->Size = System::Drawing::Size(
 56, 24 );
      this->labelLapPrompt->TabIndex = 6;
      this->labelLapPrompt->Text = "Lap Time";
      this->labelLapPrompt->Visible = false;

      // labelTimePrompt
      this->labelTimePrompt->Font = gcnew System::Drawing::Font(
 "Comic Sans MS",15.75F,System::Drawing::FontStyle::Regular,System::Drawing::GraphicsUnit::Point
 );
      this->labelTimePrompt->ForeColor = System::Drawing::Color::Yellow;
      this->labelTimePrompt->Location = System::Drawing::Point(
 0, 24 );
      this->labelTimePrompt->Name = "labelTimePrompt";
      this->labelTimePrompt->Size = System::Drawing::Size(
 88, 24 );
      this->labelTimePrompt->TabIndex = 7;
      this->labelTimePrompt->Text = "Time";

      // labelBottomLeft
      this->labelBottomLeft->BackColor = System::Drawing::Color::Black;
      this->labelBottomLeft->ForeColor = System::Drawing::Color::Black;
      this->labelBottomLeft->Location = System::Drawing::Point(
 0, 176 );
      this->labelBottomLeft->Name = "labelBottomLeft";
      this->labelBottomLeft->Size = System::Drawing::Size(
 16, 16 );
      this->labelBottomLeft->TabIndex = 8;
      this->labelBottomLeft->Click += gcnew System::EventHandler(
 this, &FormMain::labelBottomLeft_Click );

      // labelBottomRight
      this->labelBottomRight->BackColor = System::Drawing::Color::Black;
      this->labelBottomRight->ForeColor = System::Drawing::Color::Black;
      this->labelBottomRight->Location = System::Drawing::Point(
 184, 176 );
      this->labelBottomRight->Name = "labelBottomRight";
      this->labelBottomRight->Size = System::Drawing::Size(
 16, 16 );
      this->labelBottomRight->TabIndex = 9;
      this->labelBottomRight->Click += gcnew System::EventHandler(
 this, &FormMain::labelBottomRight_Click );

      // labelTopLeft
      this->labelTopLeft->BackColor = System::Drawing::Color::Black;
      this->labelTopLeft->ForeColor = System::Drawing::Color::Black;
      this->labelTopLeft->Location = System::Drawing::Point(
 0, 8 );
      this->labelTopLeft->Name = "labelTopLeft";
      this->labelTopLeft->Size = System::Drawing::Size(
 16, 16 );
      this->labelTopLeft->TabIndex = 10;
      this->labelTopLeft->Click += gcnew System::EventHandler(
 this, &FormMain::labelTopLeft_Click );

      // labelTopRight
      this->labelTopRight->BackColor = System::Drawing::Color::Black;
      this->labelTopRight->ForeColor = System::Drawing::Color::Black;
      this->labelTopRight->Location = System::Drawing::Point(
 184, 8 );
      this->labelTopRight->Name = "labelTopRight";
      this->labelTopRight->Size = System::Drawing::Size(
 16, 16 );
      this->labelTopRight->TabIndex = 11;
      this->labelTopRight->Click += gcnew System::EventHandler(
 this, &FormMain::labelTopRight_Click );

      // FormMain
      this->AutoScaleBaseSize = System::Drawing::Size( 9, 22
 );
      this->BackColor = System::Drawing::Color::Navy;
      this->ClientSize = System::Drawing::Size( 200, 200 );
      this->Controls->Add( this->labelTopRight
 );
      this->Controls->Add( this->labelTopLeft
 );
      this->Controls->Add( this->labelBottomRight
 );
      this->Controls->Add( this->labelBottomLeft
 );
      this->Controls->Add( this->labelTimePrompt
 );
      this->Controls->Add( this->labelLapPrompt
 );
      this->Controls->Add( this->labelLap
 );
      this->Controls->Add( this->buttonLapReset
 );
      this->Controls->Add( this->buttonStartStop
 );
      this->Controls->Add( this->labelTime
 );
      this->Controls->Add( this->labelExit
 );
      this->Font = gcnew System::Drawing::Font( "Microsoft
 Sans Serif",14.25F,System::Drawing::FontStyle::Regular,System::Drawing::GraphicsUnit::Point
 );
      this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::None;
      this->Name = "FormMain";
      this->Text = "StopWatch Sample";
      this->TopMost = true;
      this->Load += gcnew System::EventHandler( this,
 &FormMain::FormMain_Load );
      this->ResumeLayout( false );
   }
};

[STAThread]
int main()
{
   Application::Run( gcnew FormMain );
}
import System.*;
import System.Diagnostics.*;
import System.Windows.Forms.*;
import System.Drawing.*;
import System.Drawing.Drawing2D.*;

public class FormMain extends System.Windows.Forms.Form
{
    private Stopwatch stopWatch;
    private Boolean captureLap;

    public FormMain()
    {
        stopWatch = new Stopwatch();
        captureLap = new Boolean(false);

        InitializeComponent();
    } //FormMain

    protected void Dispose(boolean disposing)
    {
        super.Dispose(disposing);
    } //Dispose

    /** @attribute STAThread()
     */
    public static void main(String[]
 args)
    {
        Application.Run(new FormMain());
    } //main

    // Define event handlers for various form events.
    private void buttonStartStop_Click(Object
 sender, System.EventArgs e)
    {
        // When the timer is stopped, this button event starts 
        // the timer.  When the timer is running, this button 
        // event stops the timer.
        if (stopWatch.get_IsRunning()) {
            // Stop the timer; show the start and reset buttons.
            stopWatch.Stop();
            buttonStartStop.set_Text("Start");
            buttonLapReset.set_Text("Reset");
        }
        else {
            // Start the timer; show the stop and lap buttons.
            stopWatch.Start();
            buttonStartStop.set_Text("Stop");
            buttonLapReset.set_Text("Lap");
            labelLap.set_Visible(false);
            labelLapPrompt.set_Visible(false);
        }
    } //buttonStartStop_Click
    
    private void buttonLapReset_Click(Object
 sender, System.EventArgs e)
    {
        // When the timer is stopped, this button event resets
        // the timer.  When the timer is running, this button  
        // event captures a lap time.
        if (buttonLapReset.get_Text().Equals("Lap"))
 {
            if (stopWatch.get_IsRunning()) {
                // Set the object state so that the next
                // timer tick will display the lap time value.
                captureLap = new Boolean(true);
                labelLap.set_Visible(true);
                labelLapPrompt.set_Visible(true);
            }
        }
        else {
            // Reset the stopwatch and the displayed timer value.
            labelLap.set_Visible(false);
            labelLapPrompt.set_Visible(false);
            labelTime.set_Text("00:00:00.00");
            buttonLapReset.set_Text("Lap");
            stopWatch.Reset();
        } 
    } //buttonLapReset_Click

    private void timerMain_Tick(Object sender,
 System.EventArgs e)
    {
        // When the timer is running, update the displayed timer 
        // value for each tick event.
        if (stopWatch.get_IsRunning()) {
            // Get the elapsed time as a TimeSpan value.
            TimeSpan ts = stopWatch.get_Elapsed();
            // Format and display the TimeSpan value.
            labelTime.set_Text(((System.Int32)ts.get_Hours()).ToString("00")
 
                + ":" + ((System.Int32)ts.get_Minutes()).ToString("00")
 
                + ":" + ((System.Int32)ts.get_Seconds()).ToString("00")
 
                + "." + ((System.Int32)(ts.get_Milliseconds() / 10)).
                ToString("00"));
            // If the user has just clicked the "Lap" button
,
            // then capture the current time for the lap time.
            if (System.Convert.ToBoolean(captureLap)) {
                labelLap.set_Text(labelTime.get_Text());
                captureLap = new Boolean(false);
            }
        }
    } //timerMain_Tick

    private void labelExit_Click(Object sender,
 System.EventArgs e)
    {
        // Close the form when the user clicks the close button.
        this.Close();
    } //labelExit_Click

    private void labelTopLeft_Click(Object
 sender, System.EventArgs e)
    {
        this.set_Location(new Point(0, 0));
    } //labelTopLeft_Click

    private void labelBottomLeft_Click(Object
 sender, System.EventArgs e)
    {
        this.set_Location(new Point(0, Screen.get_PrimaryScreen().
            get_WorkingArea().get_Height() - this.get_Height()));
    } //labelBottomLeft_Click

    private void labelTopRight_Click(Object
 sender, System.EventArgs e)
    {
        this.set_Location(new Point(Screen.get_PrimaryScreen().
            get_WorkingArea().get_Width() - this.get_Width(),
 0));
    } //labelTopRight_Click

    private void labelBottomRight_Click(Object
 sender, System.EventArgs e)
    {
        this.set_Location(new Point(Screen.get_PrimaryScreen().
            get_WorkingArea().get_Width() - this.get_Width(),
 
            Screen.get_PrimaryScreen().get_WorkingArea().get_Height() 
            - this.get_Height()));
    } //labelBottomRight_Click

    private void FormMain_Click(Object sender,
 System.EventArgs e)
    {
        this.set_Location(new Point((Screen.get_PrimaryScreen().
            get_WorkingArea().get_Width() - this.get_Width())
 / 2, 
            (Screen.get_PrimaryScreen().get_WorkingArea().get_Height() 
            - this.get_Height()) / 2));
    } //FormMain_Click

    private void FormMain_Load(Object sender,
 System.EventArgs e)
    {
        // Shape the viewer form with rounded edges.
        DrawForm();
        this.set_Location(new Point((Screen.get_PrimaryScreen().
            get_WorkingArea().get_Width() - this.get_Width())
 / 2, 
            (Screen.get_PrimaryScreen().get_WorkingArea().get_Height() 
            - this.get_Height()) / 2));
    } //FormMain_Load

    private void DrawForm()
    {
        // Shape the viewer form with rounded edges.
        GraphicsPath graphicsPath = new GraphicsPath();

        graphicsPath.AddArc(0, 0, 100, 100, 180, 90);
        graphicsPath.AddArc(100, 0, 100, 100, 270, 90);
        graphicsPath.AddArc(100, 100, 100, 100, 0, 90);
        graphicsPath.AddArc(0, 100, 100, 100, 90, 90);

        this.set_Region(new Region(graphicsPath));
    } //DrawForm

    // Define various form elements.
    private System.ComponentModel.Container components = null;
    private System.Windows.Forms.Label labelExit;
    private System.Windows.Forms.Label labelTime;
    private System.Windows.Forms.Timer timerMain;
    private System.Windows.Forms.Button buttonLapReset;
    private System.Windows.Forms.Button buttonStartStop;
    private System.Windows.Forms.Label labelLapPrompt;
    private System.Windows.Forms.Label labelTimePrompt;
    private System.Windows.Forms.Label labelLap;
    private System.Windows.Forms.Label labelBottomLeft;
    private System.Windows.Forms.Label labelBottomRight;
    private System.Windows.Forms.Label labelTopLeft;
    private System.Windows.Forms.Label labelTopRight;

    private void InitializeComponent()
    {
        this.SuspendLayout();

        this.components = new System.ComponentModel.Container();
        this.labelExit = new System.Windows.Forms.Label();
        this.labelTime = new System.Windows.Forms.Label();
        this.buttonLapReset = new System.Windows.Forms.Button();
        this.timerMain = new System.Windows.Forms.Timer(this.components);
        this.labelLap = new System.Windows.Forms.Label();
        this.buttonStartStop = new System.Windows.Forms.Button();
        this.labelLapPrompt = new System.Windows.Forms.Label();
        this.labelTimePrompt = new System.Windows.Forms.Label();
        this.labelBottomLeft = new System.Windows.Forms.Label();
        this.labelBottomRight = new System.Windows.Forms.Label();
        this.labelTopLeft = new System.Windows.Forms.Label();
        this.labelTopRight = new System.Windows.Forms.Label();
        // labelExit
        this.labelExit.set_BorderStyle(
            System.Windows.Forms.BorderStyle.Fixed3D);
        this.labelExit.set_ForeColor(System.Drawing.Color.get_Aqua());
        this.labelExit.set_Location(new System.Drawing.Point(160,
 16));
        this.labelExit.set_Name("labelExit");
        this.labelExit.set_Size(new System.Drawing.Size(20,
 20));
        this.labelExit.set_TabIndex(0);
        this.labelExit.set_Text("x");
        this.labelExit.set_TextAlign(
            System.Drawing.ContentAlignment.BottomCenter);
        this.labelExit.add_Click(new System.EventHandler(this.labelExit_Click));
        // labelTime
        this.labelTime.set_Font(new System.Drawing.Font("Comic
 Sans MS", 18, 
            System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point));
        this.labelTime.set_ForeColor(System.Drawing.Color.get_Yellow());
        this.labelTime.set_Location(new System.Drawing.Point(-3,
 56));
        this.labelTime.set_Name("labelTime");
        this.labelTime.set_Size(new System.Drawing.Size(208,
 32));
        this.labelTime.set_TabIndex(1);
        this.labelTime.set_Text("00:00:00.00");
        // buttonLapReset
        this.buttonLapReset.set_Font(new System.Drawing.Font("Comic
 Sans MS", 
            14.25f, System.Drawing.FontStyle.Bold, 
            System.Drawing.GraphicsUnit.Point));
        this.buttonLapReset.set_ForeColor(System.Drawing.Color.get_Yellow());
        this.buttonLapReset.set_Location(new
 System.Drawing.Point(104, 160));
        this.buttonLapReset.set_Name("buttonLapReset");
        this.buttonLapReset.set_Size(new System.Drawing.Size(72,
 32));
        this.buttonLapReset.set_TabIndex(4);
        this.buttonLapReset.set_Text("Lap");
        this.buttonLapReset.add_Click(new System.EventHandler(
            this.buttonLapReset_Click));
        // timerMain
        this.timerMain.set_Enabled(true);
        this.timerMain.set_Interval(50);
        this.timerMain.add_Tick(new System.EventHandler(this.timerMain_Tick));
        // labelLap
        this.labelLap.set_Font(new System.Drawing.Font("Comic
 Sans MS", 
            (float)14.25, System.Drawing.FontStyle.Regular, 
            System.Drawing.GraphicsUnit.Point));
        this.labelLap.set_ForeColor(System.Drawing.Color.get_Yellow());
        this.labelLap.set_Location(new System.Drawing.Point(0,
 120));
        this.labelLap.set_Name("labelLap");
        this.labelLap.set_Size(new System.Drawing.Size(200,
 32));
        this.labelLap.set_TabIndex(5);
        this.labelLap.set_Visible(false);
        // buttonStartStop
        this.buttonStartStop.set_FlatStyle(System.Windows.Forms.FlatStyle.Flat);
        this.buttonStartStop.set_Font(new System.Drawing.Font("Comic
 Sans MS",
            (float)14.25, System.Drawing.FontStyle.Bold, 
            System.Drawing.GraphicsUnit.Point));
        this.buttonStartStop.set_ForeColor(System.Drawing.Color.get_Yellow());
        this.buttonStartStop.set_Location(new
 System.Drawing.Point(24, 160));
        this.buttonStartStop.set_Name("buttonStartStop");
        this.buttonStartStop.set_Size(new System.Drawing.Size(72,
 32));
        this.buttonStartStop.set_TabIndex(2);
        this.buttonStartStop.set_Text("Start");
        this.buttonStartStop.add_Click(new
 System.EventHandler(
            this.buttonStartStop_Click));
        // labelLapPrompt
        this.labelLapPrompt.set_Font(new System.Drawing.Font("Comic
 Sans MS", 
            (float)14.25, System.Drawing.FontStyle.Regular, 
            System.Drawing.GraphicsUnit.Point));
        this.labelLapPrompt.set_ForeColor(System.Drawing.Color.get_Yellow());
        this.labelLapPrompt.set_Location(new
 System.Drawing.Point(8, 96));
        this.labelLapPrompt.set_Name("labelLapPrompt");
        this.labelLapPrompt.set_Size(new System.Drawing.Size(56,
 24));
        this.labelLapPrompt.set_TabIndex(6);
        this.labelLapPrompt.set_Text("Lap Time");
        this.labelLapPrompt.set_Visible(false);
        // labelTimePrompt
        this.labelTimePrompt.set_Font(new System.Drawing.Font("Comic
 Sans MS", 
            (float)15.75, System.Drawing.FontStyle.Regular, 
            System.Drawing.GraphicsUnit.Point));
        this.labelTimePrompt.set_ForeColor(System.Drawing.Color.get_Yellow());
        this.labelTimePrompt.set_Location(new
 System.Drawing.Point(0, 24));
        this.labelTimePrompt.set_Name("labelTimePrompt");
        this.labelTimePrompt.set_Size(new System.Drawing.Size(88,
 24));
        this.labelTimePrompt.set_TabIndex(7);
        this.labelTimePrompt.set_Text("Time");
        // labelBottomLeft
        this.labelBottomLeft.set_BackColor(System.Drawing.Color.get_Black());
        this.labelBottomLeft.set_ForeColor(System.Drawing.Color.get_Black());
        this.labelBottomLeft.set_Location(new
 System.Drawing.Point(0, 176));
        this.labelBottomLeft.set_Name("labelBottomLeft");
        this.labelBottomLeft.set_Size(new System.Drawing.Size(16,
 16));
        this.labelBottomLeft.set_TabIndex(8);
        this.labelBottomLeft.add_Click(new
 System.EventHandler(
            this.labelBottomLeft_Click));
        // labelBottomRight
        this.labelBottomRight.set_BackColor(System.Drawing.Color.get_Black());
        this.labelBottomRight.set_ForeColor(System.Drawing.Color.get_Black());
        this.labelBottomRight.set_Location(new
 System.Drawing.Point(184, 176));
        this.labelBottomRight.set_Name("labelBottomRight");
        this.labelBottomRight.set_Size(new
 System.Drawing.Size(16, 16));
        this.labelBottomRight.set_TabIndex(9);
        this.labelBottomRight.add_Click(new
 System.EventHandler(
            this.labelBottomRight_Click));
        // labelTopLeft
        this.labelTopLeft.set_BackColor(System.Drawing.Color.get_Black());
        this.labelTopLeft.set_ForeColor(System.Drawing.Color.get_Black());
        this.labelTopLeft.set_Location(new
 System.Drawing.Point(0, 8));
        this.labelTopLeft.set_Name("labelTopLeft");
        this.labelTopLeft.set_Size(new System.Drawing.Size(16,
 16));
        this.labelTopLeft.set_TabIndex(10);
        this.labelTopLeft.add_Click(new System.EventHandler(
            this.labelTopLeft_Click));
        // labelTopRight
        this.labelTopRight.set_BackColor(System.Drawing.Color.get_Black());
        this.labelTopRight.set_ForeColor(System.Drawing.Color.get_Black());
        this.labelTopRight.set_Location(new
 System.Drawing.Point(184, 8));
        this.labelTopRight.set_Name("labelTopRight");
        this.labelTopRight.set_Size(new System.Drawing.Size(16,
 16));
        this.labelTopRight.set_TabIndex(11);
        this.labelTopRight.add_Click(new System.EventHandler(
            this.labelTopRight_Click));
        // FormMain
        this.set_AutoScaleBaseSize(new System.Drawing.Size(9,
 22));
        this.set_BackColor(System.Drawing.Color.get_Navy());
        this.set_ClientSize(new System.Drawing.Size(200,
 200));
        this.get_Controls().Add(this.labelTopRight);
        this.get_Controls().Add(this.labelTopLeft);
        this.get_Controls().Add(this.labelBottomRight);
        this.get_Controls().Add(this.labelBottomLeft);
        this.get_Controls().Add(this.labelTimePrompt);
        this.get_Controls().Add(this.labelLapPrompt);
        this.get_Controls().Add(this.labelLap);
        this.get_Controls().Add(this.buttonLapReset);
        this.get_Controls().Add(this.buttonStartStop);
        this.get_Controls().Add(this.labelTime);
        this.get_Controls().Add(this.labelExit);
        this.set_Font(new System.Drawing.Font("Microsoft
 Sans Serif", 
            (float)14.25, System.Drawing.FontStyle.Regular, 
            System.Drawing.GraphicsUnit.Point));
        this.set_FormBorderStyle(System.Windows.Forms.FormBorderStyle.None);
        this.set_Name("FormMain");
        this.set_Text("StopWatch Sample");
        this.set_TopMost(true);
        this.add_Load(new System.EventHandler(this.FormMain_Load));

        this.ResumeLayout(false);
    } //InitializeComponent
} //FormMain
継承階層継承階層
System.Object
  System.Diagnostics.Stopwatch
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Stopwatch コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

Stopwatch クラス新しインスタンス初期化します。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

解説解説
使用例使用例

単純なクラス コンストラクタ内で Stopwatch インスタンス初期化する例を次に示します。このコード例は、Stopwatch クラストピック取り上げているコード例一部分です。

Dim stopWatch As StopWatch
Dim captureLap As Boolean

Public Sub New()

    MyBase.New()
    stopwatch = New StopWatch()
    captureLap = False
    InitializeComponent()

End Sub
private Stopwatch stopWatch;
private Boolean captureLap;

public FormMain()
{
    stopWatch = new Stopwatch();
    captureLap = false;

    InitializeComponent();
}
private:
   Stopwatch^ stopWatch;
   Boolean captureLap;

public:
   FormMain()
   {
      stopWatch = gcnew Stopwatch;
      captureLap = false;
      InitializeComponent();
   }
private Stopwatch stopWatch;
private Boolean captureLap;

public FormMain()
{
    stopWatch = new Stopwatch();
    captureLap = new Boolean(false);

    InitializeComponent();
} //FormMain
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Stopwatch フィールド


Stopwatch プロパティ


Stopwatch メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

Stopwatch クラス
System.Diagnostics 名前空間
TimeSpan

Stopwatch メンバ

経過時間正確に計測するために使用できるメソッドプロパティセット提供します

Stopwatch データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド Stopwatch Stopwatch クラス新しインスタンス初期化します。
パブリック フィールドパブリック フィールド
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

Stopwatch クラス
System.Diagnostics 名前空間
TimeSpan

Stopwatch

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/09 14:56 UTC 版)

This is a screenshot of software applet "Stopwatch".

Stopwatch(ストップウォッチ)はその名の通り、実際のストップウォッチのように手での操作で計時を可能にするデスクトップ用アプレットである。また、カウントダウン用のタイマーとしても使用できる。

概要

ストップウォッチはミリ秒単位の精度を持ち、測定可能な時間にシステム上の制限はない。ストップウォッチは、UNIXWindowsMacOS上で動作する。通常、ストップウォッチはスタンドアロンのプログラムとして動作します。また、Tcl プラグインがあれば、ブラウザ上でも動作させることができる。

Tk 8.3 以降のバージョンをサポートすればどのようなシステムでも動作する[1]

ライセンス

これは無料で利用できるソフトウェアである。アメリカ国立標準技術研究所(NIST)が開発し、パブリック・ドメインで公開している。Linuxディストリビューションは、それぞれのバイナリパッケージを配布している。

NIST が開発したソフトウェアは、NIST が公共サービスの一環として提供しているものである。任意の媒体で使用、複製、配布することができるが、その場合はこの通知を全て完全な形で保持しておくことが条件である。ユーザーは、本ソフトウェアまたは本ソフトウェアのどの部分でも改良や改変、二次的著作物を作成することができ、複製物をコピーして配布することができる。複製物を変更した場合は、ソフトウェアを変更したことを明記し、変更の日付と内容を明記する必要がある。そしてそのソフトウェアの出典が、国立標準技術研究所であることを明示的に承認しなくてはいけない[2]


関連リンク

出典

外部リンク

脚注

  1. ^ README”. NIST. 2020年4月10日閲覧。
  2. ^ swenson (2016年11月10日). “NIST Disclaimer Statement” (英語). NIST. 2020年4月11日閲覧。

「stop watch」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Stopwatch」の関連用語

Stopwatchのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Stopwatchのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのStopwatch (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS