gpt4 book ai didi

.net - 运行简单的计时器

转载 作者:行者123 更新时间:2023-12-03 10:20:40 25 4
gpt4 key购买 nike

我正在尝试在项目启动时运行简单的计时器:

type NJHomeViewModel(config : Config) as X  =  
inherit ViewModelBase()

do
(X.Timer : Timer).Elapsed.Add(fun args -> X.OnTimedEvent(args))
(X.Timer : Timer).Interval <- 3000.0
(X.Timer : Timer).Enabled <- true
(X.Timer : Timer).Start()

member X.Timer = new Timer()

member X.OnTimedEvent args = X.Change()

所以我希望每 3 秒运行一次 X.Change() 函数,它不能以这种方式工作,即使我将它添加到按钮也没有任何改变。
member X.Next =
new RelayCommand((fun canExecute -> true),
(fun action ->
(X.Timer : Timer).Elapsed.Add(fun args -> X.OnTimedEvent(args))
(X.Timer : Timer).Interval <- 3000.0
(X.Timer : Timer).Enabled <- true
(X.Timer : Timer).Start() ))

用“滴答” Action 启动计时器的正确方法是什么?

最佳答案

考虑使用异步循环而不是使用计时器;参见例如

http://lorgonblog.wordpress.com/2010/03/27/f-async-on-the-client-side/

其中有一个例子

async {
while true do
do! Async.Sleep 1000
textBox.Text <- System.DateTime.Now.ToString()
} |> Async.StartImmediate

关于.net - 运行简单的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7023379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com