Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Tạo số Random nhưng có thời gian chạy

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    12

    Mặc định Tạo số Random nhưng có thời gian chạy

    Em đã viết 1 hàm Random để quay số trúng thưởng

    Code:
     int so1 = Int32.Parse(this.textBox1.Text);
                int so2 = Int32.Parse(this.textBox2.Text);
                Random ran = new Random();
                this.label1.Text = ran.Next(so1, so2).ToString();
    Nhưng vấn đề là khi bấm nút thì nó chạy nhanh quá ra kết quả luôn ý e là khi nhấn Button thì các số phải quay quay 1 thời gian rồi nó mới dừng lại chứ nó không ra kết quả liền.
    Mong các bạn giúp đỡ. Xin chân thành cảm ơn.

  2. #2
    Ngày gia nhập
    06 2011
    Nơi ở
    Hà Nội
    Bài viết
    11

    Trích dẫn Nguyên bản được gửi bởi duongvannam Xem bài viết
    Em đã viết 1 hàm Random để quay số trúng thưởng

    Code:
     int so1 = Int32.Parse(this.textBox1.Text);
                int so2 = Int32.Parse(this.textBox2.Text);
                Random ran = new Random();
                this.label1.Text = ran.Next(so1, so2).ToString();
    Nhưng vấn đề là khi bấm nút thì nó chạy nhanh quá ra kết quả luôn ý e là khi nhấn Button thì các số phải quay quay 1 thời gian rồi nó mới dừng lại chứ nó không ra kết quả liền.
    Mong các bạn giúp đỡ. Xin chân thành cảm ơn.
    Bạn cho hàm Random vào trong Thread rồi mỗi lần Random bạn gọi tới hàm Thread.Sleep(..) sẻ ok
    Trên bước đi của thành công không có dấu chân của kẻ lười biếng

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi khanhoatink4 Xem bài viết
    Bạn cho hàm Random vào trong Thread rồi mỗi lần Random bạn gọi tới hàm Thread.Sleep(..) sẻ ok
    Cám ơn bạn mà sao mình làm không được ta? Mình muốn là nó chạy vòng vòng ra rồi dừng lại tức là nó cũng nhá nhá ra vài số áh. Hix

  4. #4
    Ngày gia nhập
    03 2009
    Bài viết
    12

    Mình thấy là có cái chương trình nó có 2 nút bấm lúc bấm vào 1 nút thì nó quay và mình thấy là các số nó đang thay đổi, bấm nút stop thì nó sẽ dừng lại. Ai hướng dẫn mình với. Xin cám ơn ah

  5. #5
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    dùng Control Timer để làm việc này
    kéo Timer trong ToolBox vào form để xài
    set các thuộc tính
    Code:
    Enabled = false;
    Interval = 50 ; // tầm 50 là vừa mắt người nhìn dc .
    khi Click vào button thì bắt đầu đếm giây và số bắt đầu quay

    Code:
            DateTime t;
            private void button1_Click(object sender, EventArgs e)
            {
                t = DateTime.Now;
                timer1.Enabled = true;
            }
    khi timer đã dc kích hoạt thì đếm thời gian . nếu dc 3s thì ngưng . trong 3s đó số liên tục quay

    Code:
            Random rd = new Random();
            private void timer1_Tick(object sender, EventArgs e)
            {
                if (DateTime.Now.Subtract(t).TotalSeconds <= 3)
                {
                    textBox1.Text = rd.Next(0, 9).ToString();
                    textBox2.Text = rd.Next(0, 9).ToString();
                }
                else
                    timer1.Enabled = false;
            }
    đây là ý tưởng bấm nút thì quay số trong 3s
    nếu cần bấm nút cho nó quay rồi ấn nữa là ngưng thì .... bạn tự làm . cái gì cũng hỏi còn gì là lập trình
    Đã được chỉnh sửa lần cuối bởi doveandrose : 24-01-2013 lúc 07:59 PM.

  6. #6
    Ngày gia nhập
    09 2011
    Bài viết
    129

    Mặc định Tạo số Random nhưng có thời gian chạy

    Trích dẫn Nguyên bản được gửi bởi duongvannam Xem bài viết
    Em đã viết 1 hàm Random để quay số trúng thưởng

    Code:
     int so1 = Int32.Parse(this.textBox1.Text);
                int so2 = Int32.Parse(this.textBox2.Text);
                Random ran = new Random();
                this.label1.Text = ran.Next(so1, so2).ToString();
    Nhưng vấn đề là khi bấm nút thì nó chạy nhanh quá ra kết quả luôn ý e là khi nhấn Button thì các số phải quay quay 1 thời gian rồi nó mới dừng lại chứ nó không ra kết quả liền.
    Mong các bạn giúp đỡ. Xin chân thành cảm ơn.
    bạn copy rồi chạy thử xem đúng ý định chưa

    bool bFlag = true;
    private void btnQuay_Click(object sender, EventArgs e)
    {
    bFlag = true;
    QuayXoSoDelegate xt = new QuayXoSoDelegate(QuayXoSo);
    xt.BeginInvoke(null,null);
    }
    private delegate void QuayXoSoDelegate();
    private void QuayXoSo()
    {
    while (bFlag)
    {
    Random ran = new Random();
    this.label1.Text = ran.Next(0, 99).ToString().PadLeft(2,'0');
    System.Threading.Thread.Sleep(400);
    }
    }

    private void btnStop_Click(object sender, EventArgs e)
    {
    bFlag = false;
    }

  7. #7
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    bool bFlag = true;
    private void btnQuay_Click(object sender, EventArgs e)
    {
    bFlag = true;
    QuayXoSoDelegate xt = new QuayXoSoDelegate(QuayXoSo);
    xt.BeginInvoke(null,null);
    }
    private delegate void QuayXoSoDelegate();
    private void QuayXoSo()
    {
    while (bFlag)
    {
    Random ran = new Random();
    this.label1.Text = ran.Next(0, 99).ToString().PadLeft(2,'0');
    System.Threading.Thread.Sleep(400);
    }
    }

    private void btnStop_Click(object sender, EventArgs e)
    {
    bFlag = false;
    }
    rớt tiền kìa ....
    Attached Thumbnails Attached Thumbnails Untitled.png  

  8. #8
    Ngày gia nhập
    09 2011
    Bài viết
    129

    Trích dẫn Nguyên bản được gửi bởi doveandrose Xem bài viết
    rớt tiền kìa ....
    cho cái này là lại có tiền

    public Form1()
    {
    InitializeComponent();
    CheckForIllegalCrossThreadCalls = false;
    }

Các đề tài tương tự

  1. Kỹ thuật C Tại sao hàm random cho nhiều số thì kết quả random bị trùng lặp?
    Gửi bởi acquydem12 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 18-04-2014, 02:17 PM
  2. Database Chương trình không chạy sau 1 thời gian sử dụng
    Gửi bởi MYNAM trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 25-04-2013, 05:07 PM
  3. Trả lời: 0
    Bài viết cuối: 24-02-2013, 11:16 PM
  4. in ra thời gian chạy chương trình
    Gửi bởi AlexF trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 13
    Bài viết cuối: 18-02-2009, 07:35 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn