C# WinForm 提示框延迟自动关闭

https://www.cnblogs.com/luludongxu/p/8856956.html

有时候我们需要弹出个提示框然后让它自己关闭,然而实际使用中的弹出框确实阻塞进程,网上貌似有一种另类的解决方式,大致思路是把弹出框放到另外的一个窗体上,直接贴代码

主窗体

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

using System;

using System.Windows.Forms;

namespace WinForm

{

    public partial class MainForm : Form

    {

        public MainForm()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            //延迟800毫秒关闭的信息框

            MessageBox.Show(new DelayCloseForm(800), "执行成功!");

        }

    }

}

  

起到延迟作用的窗体

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

using System;

using System.ComponentModel;

using System.Windows.Forms;

namespace WinForm

{

    public partial class DelayCloseForm : Form

    {

        public DelayCloseForm(int interval = 500)

        {

            InitializeComponent();

            //计时器

            this.components = new Container();

            Timer timer1 = new Timer(this.components);

            timer1.Enabled = true;

            timer1.Interval = interval;

            timer1.Tick += timer1_Tick;

            timer1.Start();

        }

        private void timer1_Tick(object sender, EventArgs e)

        {

            this.Close();

        }

    }

}

你可能感兴趣的:(.net(C#),Winform,c#,winform)