【发布时间】:2013-03-09 15:44:53
【问题描述】:
我正在编写一个程序来帮助玩游戏。我需要它来更新显示当前 exp 值的文本框,在论坛加载时它确实显示 exp,我需要它像每个 3 seconds 一样更新 exp。
我该怎么做呢?
这是我目前所拥有的:
Client C = Client.GetClients()[0];
Player P;
P = C.GetPlayer();
expTextBox.Text = ("Experience: " + P.Experience.ToString());
我不确定是否需要timer(我已经尝试过,但我很不擅长制作)或者backGroundWorker 是否最好。
【问题讨论】:
-
为什么需要每3秒更新一次经验,他们是在不断地获得经验吗?如果没有,在它真正改变之前更新一些东西似乎是一种浪费?
-
嗯,不一定是 3 秒,而是一个恒定值。我觉得10个就好了。但是是的,他们会得到相当稳定的 exp。
-
最佳方法取决于您使用的 UI 平台。它是什么? asp.net、winforms 等。
-
是的,但他们是根据某些事件获得经验,还是自动发生?如果它基于预先存在的事件,则使用这些事件,而不是计时器。这真的取决于他们如何获得经验,你应该更新 UI。
-
计划是让他们在攻击时获得经验。我正在使用 Windows 窗体应用程序。现在事件没什么,是他们在游戏客户端攻击
标签: c# winforms timer backgroundworker