C# 更改MaskedTextbox上的时间

C# 更改MaskedTextbox上的时间,c#,C#,我想在我的应用程序中设计maskedtextbox上的更改时间,就像时间每秒都在更改的windows一样。我已将maskedtexbox1设置如下: maskedTextBox1.Text = DateTime.Now.ToShortTimeString(); 显示当前系统的时间很短,但不会像windows那样每秒都在变化。怎么办 我使用的是Visual Studio 2005,而.NET在3.5以下。我想你需要设置一个计时器,它每秒更新你的maskedTextBox1 有关如何做到这一点,请

我想在我的应用程序中设计maskedtextbox上的更改时间,就像时间每秒都在更改的windows一样。我已将maskedtexbox1设置如下:

maskedTextBox1.Text = DateTime.Now.ToShortTimeString();
显示当前系统的时间很短,但不会像windows那样每秒都在变化。怎么办


我使用的是Visual Studio 2005,而.NET在3.5以下。

我想你需要设置一个计时器,它每秒更新你的
maskedTextBox1

有关如何做到这一点,请参见:

干杯。Keith.

您可以使用每秒更新文本框值,例如:

var timer = new Timer();
timer.Interval = 1000;

timer.Tick += delegate
            {
                textBox1.Text = DateTime.Now.ToLongTimeString();
            };

timer.Start();

我会使用计时器,每秒触发一个事件来更新时间

  • 创建一个计时器(包中类
    timer
    的实例)
  • 将其频率设置为1秒(即1000毫秒)
  • 告诉它在关闭时调用什么方法(事件处理程序
    Kaboom
  • 在可执行代码的某个地方,您可以通过键入以下命令来实现这一点

    Timer ticker= new Timer();
    ticker.Interval = 1000;
    ticker.Tick += new EventHandler(Kaboom);
    
    在同一个类中(或者,如果您有信心如何做,您可以在某个地方找到代码),您还可以为触发的滴答事件创建处理程序,这样就可以保证在计时器关闭时调用方法

    private void Kaboom(Object sender, EventArgs eventArgs)
    {
      // Execute the tickability code
      MaskedTextBox1.Text = DateTime.Now.ToShortTimeString();
    }
    
    另外,当你觉得自己准备好了时,不要忘记启动你的股票行情

    MyTimer.Start();
    
    塔达

    编辑:

    为了完整起见,我还将粘贴@CuaonLe(对.NET3.5或更高版本的能力和要求的更高阈值)回复的一部分


    好代码。但我不知道这是否对可怜的OP有帮助。他想知道如何启动一个自动售票机。我不确定代表结构(尽管我同意可能很好)是否是帮助他的最佳方式。当我还是一个傻瓜的时候,人们对我的帮助太高了,之后我经常感到更困惑,哈哈。但也许我只是慢了…:)@Cuong Le,我使用的是vs-2005,计时器事件语句没有match@MaheshWagh:您能否更新您的问题以提及您正在使用.NET 2.0?@MaheshWagh您并没有使用VS05。是你的.NET低于4(或者是labda表达式附带的3.5)。Cuong Les的建议很好,但他认为每个人都可以随时升级自己的IDE。此外,如果可以的话,您应该将IDE升级到至少VS10。否则,你可能会想提出问题,你是在一个旧版本的框架上。我没有否决你,但如果我要猜测原因,可能是因为lambda表达式看起来很吓人。或者可能有人只是粘贴了你的代码,然后在错误版本的.NET上运行,假设代码几乎可以正常工作。几小时后,当我的评分能力恢复时,我会给你重新评分。你可能还想粘贴@CuongLe的回复。如果有人搜索一个类似问题的答案,他们会从两个世界中得到最好的答案。如果@KonradViltersten给你的答案令你满意,那么给它打分并将答案标记为好(通过单击绿色复选框)。这样你就能帮助下一个人找到最好的答案。如果我们还没有解决您的问题,请使用注释告诉我们仍然缺少什么。贡献,合作,快乐编码!:)@安德烈亚斯约翰逊,谢谢你的建议,以后对我也会更有用。谢谢buddyNo的问题。如果你喜欢某个答案,可以随意提高分数(如果你不喜欢,可以降低分数-总是告诉别人为什么,就像这样:-1因为针对的是错误的.NET版本)。并且总是给答案打分(就像你现在做的那样),或者告诉我们还缺少什么。快乐编码!
    Timer timer = new Timer { Interval = 1000 };
    timer.Tick += (obj, args) 
      => MaskedTextBox1.Text = DateTime.Now.ToLongTimeString();
    timer.Start();