C# SETTIMEOUT TRÊN WINFORM LIKE JAVASCRIPT

Hi mọi người, hôm nay lại long nhong trên internet để tìm hiểu một số thứ và tình cờ ghé sang website laptrinhvb.net thấy có bài viết này cũng khá hay, nên mình viết bài chia sẽ cho mọi người luôn, về bản chất nó như tự động thực thi hành động được cài đặt sẳn trên ứng dụng và xữ lý winform để tiền cho người dùng.
  
Ví dụ: các bạn muốn viết ứng dụng của mình sau khoảng thời gian bao nhiêu giây thì sẽ chạy hàm đó.
Full Code Function SetTimeOut C#:
public void SetTimeout(Action action, int timeout)
{
    var timer = new Timer();
    timer.Interval = timeout;
    timer.Tick +=  (s,e) =>
    {
        action();
        timer.Stop();
    };
    timer.Start();
}

Ở phương thức này chúng ta sẽ truyền vào 1 Action và thời gian delay chờ đợi để thực hiện function đó.

Ví dụ: Mình sẽ thiết kế 1 button, khi click vào button đó sau 15 giây thì sẽ hiển thị thông báo hết thời gian, chúng ta sẽ viết như sau
private void btnStart_Click(object sender, EventArgs e)
{
    var action = new Action(() => {
        MessageBox.Show("Hết thời gian 15s");
    });

    SetTimeout(action, 15000);
}

FULL CODE C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

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

        private void btnStart_Click(object sender, EventArgs e)
        {
            var action = new Action(() => {
                MessageBox.Show("Hết thời gian 15s");
            });

            SetTimeout(action, 15000);
        }

        public void SetTimeout(Action action, int timeout)
        {
            var timer = new Timer();
            timer.Interval = timeout;
            timer.Tick +=  (s,e) =>
            {
                action();
                timer.Stop();
            };
            timer.Start();
        }
    }
}

Chúc các bạn thành công với thủ thuật trên
Theo: LapTrinhVB.Net
Next Post Previous Post
12 Comments
  • Anonymous Hz
    Anonymous Hz Thứ Sáu, 05 tháng 8, 2022

    https://youtu.be/Hmxqj0TVMgw

  • ADM HUNGQB ™
    ADM HUNGQB ™ Thứ Năm, 11 tháng 8, 2022

    mọi người cùng nhau áp dụng nhé.

  • Unknown
    Unknown Thứ Sáu, 19 tháng 8, 2022

    timer.start /if textbox1.text = > 10 then else ... thế là xong :v

    • ADM HUNGQB ™
      ADM HUNGQB ™ Chủ Nhật, 04 tháng 9, 2022

      hợp tác làm apps của riêng mình không bạn? bạn thêm đc csdl vào đc chương trình là ok, m` tích hợp làm bản quyền chương trình và chúng ta cùng nhau chia đôi, m` đang có dự định làm app tích hợp nhiều thứ của facebook vd: chuyển đổi token sang cookie, chọc bạn bè, rút gọn link, google suggest, mã hóa bas364 và decode base64, javascript obfuscator, html converter, nén css, fomat css ...v.v

    • Junookyo Blog ™
      Junookyo Blog ™ Chủ Nhật, 04 tháng 9, 2022

      đâu phải mất công như vậy e? có nhiều website tích hợp đầy đủ những thứ đó rồi mà, ngta lên google gõ là ra thôi haha

      như a hay dùng trang bfgtool.com để sữ dụng những thứ trên đó e (y)

    • ADM HUNGQB ™
      ADM HUNGQB ™ Chủ Nhật, 04 tháng 9, 2022

      hehe e muốn tạo nét đặc sắc riêng cho blog thôi a, ngta vào thấy cái gì khó cứ tải tools e về là có hết để sữ dụng luôn đó a :D khỏi mất công tìm đâu xa :D

    • Junookyo Blog ™
      Junookyo Blog ™ Chủ Nhật, 04 tháng 9, 2022

      nếu vậy e thêm bản quyền vào thì ngta cũng k mua đâu, ngta lên web dùng cho nhanh, mà lại free, sợ tải chương trình e về gây hại cho máy tính nữa nên ngta sẽ k sữ dụng đâu e :D ( góp ý : làm web chắc đc, nhưng thêm nhiều thứ mới lạ để tạo điểm nhấn nữa e nhé )

    • ADM HUNGQB ™
      ADM HUNGQB ™ Chủ Nhật, 04 tháng 9, 2022

      e thêm phần bản quyền để lấy phần công sức tối ưu và tích hợp nhiều thứ vào chương trình thôi a, để tạo điểm nhấn e sẽ tích hợp thêm nhiều thứ mới mà chưa đc chia sẽ nhiều trên mạng a ạh, mà e chưa biết thứ gì đây, hồi xưa e có làm app tích hợp twitter có thể gửi bài viết mà không cần đăng nhập chỉ cần lấy dạng token của twitter là có thể đăng bài r`, mà lâu r k sữ dụng k biết chương trình đó thế nào có hoàn thiện không / tks a đã góp ý cho e (y)

  • Hoàng Đông
    Hoàng Đông Thứ Sáu, 19 tháng 8, 2022

    viết chương trình đếm ngược thời gian đến ngày gia hạn tên miền e :v để nhớ mà gia hạn. haha

  • ADM HUNGQB ™
    ADM HUNGQB ™ Thứ Sáu, 19 tháng 8, 2022

    @Unknown code vb.net :D (y)

  • Anonymous Hz
    Anonymous Hz Chủ Nhật, 21 tháng 8, 2022

    người chưa biết nhìn lên cũng đoán đc ngôn ngữ thông dụng đó mà bạn :D

    • ADM HUNGQB ™
      ADM HUNGQB ™ Thứ Sáu, 02 tháng 9, 2022

      chưa hẳn đâu a, có nhiều ngôn ngữ lập trình khác ok hơn đó a, tại e chưa tìm hiểu nhiều về các ngôn ngữ lập trình khác, chỉ chuyên sâu vào vb.net nên cũng còn lu mờ lắm, ngta có thể lập trình ứng dụng bằng python, csharp, c++ . . . v.v ( e còn chậm lắm nên chưa tìm hiểu tốt :D )

Add Comment
comment url
Tăng traffic miễn phí