在VB中使用像Update一样的计时器

时间:2015-10-28 10:44:42

标签: c# vb.net timer visual-studio-2015

我知道VB中没有更新功能,但我想知道是否有一段特定的代码可以在每个帧/ tick中运行代码。像timer一样,但我不知道如何使用计时器。

以下是我想要每秒检查的一些示例代码。

if aBoolean then
    textBox1.Text = "Aboolean is true"
else
    textBox1.Text = "Aboolean is false"
end if

例如,一个按钮会将aBoolean更改为true。我知道这可以在按钮按下时完成,但它只是一个例子。 如果没有什么可以做的,那么我将在C#中重新编写代码并使用void update()。 感谢。

3 个答案:

答案 0 :(得分:1)

C#代码

   Timer timer = new Timer();

    public FormWithTimer()
    {
        InitializeComponent();

        timer.Tick += new EventHandler(timer_Tick); // Everytime timer ticks, timer_Tick will be called
        timer.Interval = (1000) * (10);             // Timer will tick evert 10 seconds
        timer.Enabled = true;                       // Enable the timer
        timer.Start();                              // Start the timer
    }

    void timer_Tick(object sender, EventArgs e)
    {
        if (aBoolean)
        {textBox1.Text = "Aboolean is true";}
        else { textBox1.Text = "Aboolean is false"; }
    }

示例来自:https://social.msdn.microsoft.com/Forums/windows/en-US/43daf8b2-67ad-4938-98f7-cae3eaa5e63f/how-to-use-timer-control-in-c

答案 1 :(得分:0)

从外观上看,你是用VB编写代码的,所以我会在这里做。此外,我不打算居高临下,我只想写下答案,以便其他任何人都可以使用它并学习一些关于计时器的知识。

首先,在工具箱中,您需要双击Timer控件。这将在“设计”窗口中的表单下添加一个计时器。计时器不会出现在您的表单上,因为它没有任何图形界面。

在窗口下方,你应该有一个名为Timer1的定时器控件。双击这个,你的代码窗口就会打开,你会发现一个看起来像这样的新子 -

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

End Sub

在Sub中添加你想要每秒发生的代码。所以现在你应该有 -

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    if aBoolean then
        textBox1.Text = "Aboolean is true"
    else
        textBox1.Text = "Aboolean is false"
    end if
End Sub

行?到现在为止还挺好。这段代码还没有做任何事情。当Timer1使能时,每次定时器滴答时,都会引发一个名为Timer1.Tick的事件。上面的代码在此Tick事件发生时运行。

下一位取决于您希望计时器开始计时以及您希望计时间隔之间的时间长度。间隔存储为毫秒,因此要将Timer1的间隔设置为1秒,您需要做的就是这个

Timer1.Interval=1000

这需要在您希望计时器开始计时之前运行的代码中。我有时把它放在Form的Load事件中,但它不一定在那里。

在程序中您希望计时器开始计时的位置,就像将其添加到代码中的Sub一样简单

Timer1.Start

不可避免地会有一个点,你希望计时器停止发出这些刻度,所以在这一点上,只需添加

Timer1.Stop

这几乎涵盖了计时器的基础知识。

希望有所帮助

答案 2 :(得分:-2)

在Winforms中你有

Control.OnPaint

Event,主要类似于更新通话。这与语言无关(C#,VB,C ++)

在WPF中你有

UIElement.OnRender

Event,它也大多像是一个更新调用。 根据您的窗口框架,您可以使用其中一个作为更新交换。