How to track time between two button clicks in C# in a Windows form application?

前端 未结 3 1373
青春惊慌失措
青春惊慌失措 2021-01-29 00:06

I have created a windows form application in c# in which input from user is taken .I want to calculate time spent by user in between two submissions.How can I do that?

相关标签:
3条回答
  • 2021-01-29 00:33

    Use Stopwatch. Create object of the Stopwatch at class level and use that to calculate time.

    Something like:

     public partial class Form1 : Form
        {
            Stopwatch stopwatch = new Stopwatch();
    
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                stopwatch.Start();
    
            }
            private void button2_Click(object sender, EventArgs e)
            {
    
                stopwatch.Stop();
                var milliSeocnds = stopwatch.ElapsedMilliseconds;
                var timeSpan = stopwatch.Elapsed;
            }
        }
    
    0 讨论(0)
  • 2021-01-29 00:35

    You can use two global DateTime variable and in click twice button diff to variable;

       private DateTime btn1Click ;
       private DateTime btn2click;
    
    
            private void btn1_Click(object sender, EventArgs e)
            {
                btn1Click = DateTime.Now;
            }
    
            private void btn2_Click(object sender, EventArgs e)
            {
                btn2click = DateTime.Now;
            }
    

    and use this code for diff time:

     TimeSpan timespan = btn2click - btn1Click;
    

    In same button :

      private DateTime btnClick1 ;
            private DateTime btnClick2;
    
      private void btn_Click(object sender, EventArgs e)
            {
                if (btnClick1==null)
                {
                    btnClick1 = DateTime.Now;
                }
                else
                {
                    btnClick2 = DateTime.Now;
                }
            }
    
    0 讨论(0)
  • 2021-01-29 00:44

    Using System.Threading you can use the stopwatch function. Just start the function on the first click and stop it on the second.

    Using System.Threading
    
    //main etc ignored
    
    //declare
    
    Stopwatch s = new Stopwatch();
    
    //start
    s.start();
    //stop
    s.stop()
    //get the time
    s.Elapsed;
    
    0 讨论(0)
提交回复
热议问题