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

Đề tài: làm sao cho kim đồng hồ chạy

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    77

    Mặc định làm sao cho kim đồng hồ chạy

    mình vẽ cái đồng hồ ! nhưng ko biết làm sao cho kim đồng hồ chạy
    nhờ mọi người giúp giùm
    thanks
    Attached Files Attached Files
    Gian hàng giá tốt: http://www.worldstore.vn/

  2. #2
    Ngày gia nhập
    01 2008
    Bài viết
    148

    Bạn thử với bài này của mình xem : 2 cách
    Visual C# Code:
    1.  private void timer1_Tick(object sender, EventArgs e)
    2.         {
    3.                        
    4.            
    5.             //Cach 1
    6.             int RClock = 150;
    7.             int hR = 80;
    8.             int mR = 120;
    9.             int sR = 140;
    10.             int h = DateTime.Now.Hour % 12;
    11.             int m = DateTime.Now.Minute;
    12.             int s = DateTime.Now.Second;
    13.             //panel1 co thuoc tinh Dock fill
    14.             //toa do tam duong tron
    15.             int x0 = panel1.Width / 2;
    16.             int y0 = panel1.Height / 2;
    17.             Graphics g = panel1.CreateGraphics();
    18.             g.Clear(panel1.BackColor);
    19.             //ve duong tron tam x0,y0
    20.             Pen p = new Pen(Color.Blue, 3);
    21.             g.DrawEllipse(p, x0 - RClock, y0 - RClock, RClock * 2f, RClock * 2f);
    22.             //ve kim dong ho
    23.             Pen penH = new Pen(Color.Red, 5);
    24.             Pen penM = new Pen(Color.Aqua, 3);
    25.             Pen penS = new Pen(Color.Blue, 2);
    26.             g.DrawLine(penH, x0, y0, (float)(hR * Math.Sin(h * Math.PI / 6) + x0), (float)(-hR * Math.Cos(h * Math.PI / 6)) + y0);
    27.             g.DrawLine(penM, x0, y0, (float)(mR * Math.Sin(m * Math.PI / 30) + x0 ), (float)(-mR * Math.Cos(m * Math.PI / 30) + y0 ) );
    28.             g.DrawLine(penS, x0, y0, (float)(sR * Math.Sin(s * Math.PI / 30) + x0), (float)(-sR * Math.Cos(s * Math.PI / 30)) + y0);
    29.             g.Dispose();
    30.    
    31. //Cach 2
    32. /*
    33.             Graphics grp = panel1.CreateGraphics();
    34.             grp.Clear(panel1.BackColor);
    35.             Pen p = new Pen(Color.ForestGreen, 6);
    36.             double X, Y, phi;
    37.             double pI = System.Math.PI;
    38.             double r = 100;
    39.             double Xo = panel1.Width / 2;
    40.             double Yo = panel1.Height / 2;
    41.             grp.DrawEllipse(p, (float)(Xo - r), (float)(Yo - r), (float)(2 * r), (float)(2 * r));
    42.             //ve kim gio
    43.             phi = pI / 2 + ((12 - System.DateTime.Now.Hour - System.DateTime.Now.Minute / 60.0) * (2 * pI)) / 12;
    44.             X = (Xo + r * 0.7 * System.Math.Cos(phi));
    45.             Y = (Yo - r * 0.7 * System.Math.Sin(phi));
    46.             Pen pHour = new Pen(Color.Black, 4);
    47.             grp.DrawLine(pHour, (float)Xo, (float)Yo, (float)X, (float)Y);
    48.             //ve kim phut
    49.             phi = pI / 2 - System.DateTime.Now.Minute * pI / 30;
    50.             X = (Xo + r * 0.9 * System.Math.Cos(phi));
    51.             Y = (Yo - r * 0.9 * System.Math.Sin(phi));
    52.             Pen pMin = new Pen(Color.Black, 2);
    53.             grp.DrawLine(pMin, (float)Xo, (float)Yo, (float)X, (float)Y);
    54.             //Ve kim giay
    55.             phi = pI / 2 - System.DateTime.Now.Second * pI / 30;
    56.             X = (Xo + r * System.Math.Cos(phi));
    57.             Y = (Yo - r * System.Math.Sin(phi));
    58.             Pen pSecon = new Pen(Color.Red, 1);
    59.             grp.DrawLine(pSecon, (float)Xo, (float)Yo, (float)X, (float)Y);
    60. */
    61.         }
    bạn có thể cải tiến thêm cho kim phút và kim giờ chạy từ từ,nghỉa là giây thứ 59 chuyển qua giây 60 kim phút không nhảy cái phình qua phút tiếp theo.mà nó sẽ chạy từ từ trong quá trình kim giây chuyển đông (tương tự với kim giờ)
    Chúc bạn thành công

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

  1. MS SQL Lỗi SQL Server 2005 express chạy chậm khi chạy report?
    Gửi bởi dongtrien trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 26-03-2013, 09:12 PM
  2. Q-Smart S15 thiết kế chắc chắn chạy android giá rẻ
    Gửi bởi 16thang4 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 22-08-2012, 04:07 PM
  3. Trả lời: 4
    Bài viết cuối: 28-06-2012, 03: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