使用类似于VB中的Update函数的计时器
本文关键字:函数 计时器 Update 中的 类似于 VB | 更新日期: 2023-09-27 18:19:32
我知道VB中没有更新函数,但我想知道是否有一段特定的代码可以在每一帧/每一刻运行其中的代码。就像timer
,但我不知道如何使用计时器。
下面是一些我想每秒检查一次的示例代码。
if aBoolean then
textBox1.Text = "Aboolean is true"
else
textBox1.Text = "Aboolean is false"
end if
例如,一个按钮会将一个布尔值更改为true。我知道这可以通过按下按钮来完成,但这只是一个例子。如果没有什么可以做的,那么我只需要用C#重写我的代码,并使用void update()
。谢谢
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
从外观上看,您正在用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
这几乎涵盖了计时器的基本知识。
希望它能帮助
在Winforms中,您有
Control.OnPaint
事件,它主要类似于Update调用。这是独立于语言的(C#、VB、C++)
在WPF中,你有
UIElement.OnRender
事件,它也主要类似于Update调用。根据您的窗口框架,您可以使用其中一个作为更新交换。