zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#【中级篇】Winform中Application.DoEvents的使用

c#Winform application 中级 使用
2023-09-11 14:15:48 时间

一、Winform中控件布局如下:

二、源代码:

using System;
using System.Diagnostics;
using System.Windows.Forms;


namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //使用DoEvents,耗时长,建议使用异步操作async/await
        private void button1_Click(object sender, EventArgs e)
        {
            Stopwatch sp = new Stopwatch();
            sp.Start();
            for (int i = 0; i < 10000; i++)
            {
                textBox1.Text = i.ToString();
                Application.DoEvents();
            }
            label1.Text += sp.ElapsedMilliseconds.ToString() + "ms";//计算耗时
        }
        //不使用DoEvents,耗时短,但是全部执行完才能显示textBox文本,建议不使用
        private void button2_Click(object sender, EventArgs e)
        {
            Stopwatch sp = new Stopwatch();
            sp.Start();
            for (int i= 0; i < 10000; i++)
            {
                textBox2.Text = i.ToString();
            }
            label2.Text += sp.ElapsedMilliseconds.ToString() + "ms";//计算耗时
        }
    }
}

三、执行结果:

参考:c#学习笔记之Application.DoEvents应用 - 君莫笑·秋 - 博客园