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)』 (2023/09/04 07:15 UTC 版)

ストップウオッチ(機械式アナログ)
ストップウオッチ(電子式デジタル)

ストップウオッチ: stopwatch)は、特定の事象の経過時間を計測することを目的とした時計である。トラック競技(主に陸上競技競泳など)に代表される、タイムを競う運動競技の結果の記録(計時)や、工場などで作業者の作業分析に用いられる。別名は秒時計(びょうどけい)または精密時計クロノグラフ、chronograf)。

解説

ストップウオッチの原型は、1776年スイスで作られた[1]

古典的なものは一般的な時計と同様に文字盤と針を備え、懐中時計と同じような形状をもつ。針は長針が秒針、短針が分針で文字盤には時刻でなく経過時間が表示されている。計測単位には1/5秒と1/10秒のタイプがあり、1/10秒のタイプは長針が30秒で一周する。竜頭を押すことにより時計の針をスタート、ストップさせることで経過時間を記録し、押すごとにスタート、ストップ、リセットとなる。積算式のものはリセットボタンが独立しており、一時停止の状態から再度計測を続けることができる。長針を2つもち、ラップタイムを計測できるものも存在する。

電子技術の進歩により、デジタル時計の出現後は、文字盤も数字表示が使われる例が多い。

スポーツ競技の計測

現代スポーツの競技大会などでは、人間の目視による状況把握による操作では誤差が生じる問題から、電気計時(人の手を介さない方法)が採用されている。例えば、以下の方法を採用している。

  • 計測対象(競技者、乗り物)に発信器(チップ)を埋め込み、ゲートを通過した時刻、経過時間を記録する。
  • スタートをピストルなどの合図に連動させる。
  • 競技者がゴールした事を光学的、物理的に感知し時間を記録する。

脚注

  1. ^ 時計の歴史”. 日本時計協会. 2019年12月10日閲覧。

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

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


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

辞書ショートカット

すべての辞書の索引

「Stopwatch」の関連用語

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

   

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



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

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのストップウオッチ (改訂履歴)の記事を複製、再配布したものにあたり、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-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 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.

©2024 GRAS Group, Inc.RSS