时钟程序不算数

时间:2016-08-25 07:23:12

标签: c# xamarin

我是新的OOP学生,我用X#在Xamarin工作室写了简单的时钟程序。时钟格式为00:00:00。它应该是数字并作为时钟工作。 但是,必定存在一些问题,因此我的时钟可以在屏幕上绘制但不会打勾"#34;。

$ docker-machine ip default
192.168.99.100
$ curl 192.168.99.100:8090
curl: (7) Failed to connect to 192.168.99.100 port 8090: Connection refused

2 个答案:

答案 0 :(得分:1)

您的时钟没有勾选的原因是因为您使用myClock.SetClock()方法不断重置它的间隔。此方法只应在main方法的while循环外调用一次。尝试以下主要方法;

    public static void Main ()
    {
        var myClock = new Clock ();

        //Open the game window
        SwinGame.OpenGraphicsWindow ("GameMain", 800, 600);
        SwinGame.ShowSwinGameSplashScreen ();

        myClock.SetClock ();                  //Set clock should be called from here.
        //Run the game loop
        while (false == SwinGame.WindowCloseRequested ()) {
            //Fetch the next batch of UI interaction
            SwinGame.ProcessEvents ();

            //Clear the screen and draw the framerate
            SwinGame.ClearScreen (Color.White);
            SwinGame.DrawFramerate (0, 0);

            myClock.DrawClock ();

            if (SwinGame.MouseClicked (MouseButton.LeftButton)) {
                myClock.UpdateClock ();
            }
            if (SwinGame.MouseClicked (MouseButton.RightButton)) {
                myClock.ResetClock ();
            }

            //Draw onto the screen
            SwinGame.RefreshScreen (60);
        }
    }

SetTimer应该如下

    public void SetTimer ()
    {
        timer.Interval = 1000;
        timer.Elapsed += (sender, e) => UpdateCounter ();
        timer.Start ();
    }

答案 1 :(得分:0)

好像你甚至没有启动计时器 而不是在 UpdateCounter()中调用 timer.Start(); ,而是在 timer.Elapsed + =(sender,e)=>之后启动计时器。 UpdateCounter();

你还应该把你的变量放在一起。

private int _hoursCounter;  
private int _minutesCounter;  
private int _secondsCounter;  
Timer timer;  

并在构造函数中初始化计时器:

..
_secondsCounter = 0;
timer = new Timer();