- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
希望这不会太难理解。
我目前正在开发一个在后台安静运行的小型时间记录应用程序。每次行情结束时,应用程序都会提示用户说出自上次提示后他/她在做什么。我最终会让应用程序将数据写入电子表格。
到目前为止,我有一个选项允许用户选择他/她是否想要使用默认提示设置(每次错过提示时,它都会保持可见,直到创建下一个提示,这意味着如果用户离开他/她的计算机一段时间,屏幕上可能只有很少的提示等待填写)或者想要组合所有提示(每次错过一个提示并弹出一个新提示时,旧的关闭,新的覆盖旧提示和新提示的时间)。
用户还可以选择一个复选框来关闭提示。当他/她再次打开提示时,会弹出一个提示,要求用户填写他/她在关闭提示时所做的事情(在用户运行全屏应用程序等时很有用)。
我的问题是,当我尝试生成提示时,它们无法正确显示。我根本无法操纵它们,而且没有任何控件显示。它们基本上看起来像空表格。
这是我使用代码生成提示的代码:
public void ticker(object source, System.Timers.ElapsedEventArgs e)
{
if (groupMissed)
{
incrementsMissed += 1;
if (incrementsMissed > 1)
{
IncrementForm form = (IncrementForm)Application.OpenForms["IncrementForm"];
if (form.InvokeRequired)
{
form.Invoke(new MethodInvoker(delegate { form.Close(); }));
}
}
}
else
{
incrementsMissed = 1;
}
IncrementForm theIncrementForm = new IncrementForm(this, e.SignalTime);
theIncrementForm.Show();
latestIncrement = e.SignalTime;
}
这是我使用“关闭提示”复选框生成提示的代码:
private void chkbxAlerts_Click(object sender, EventArgs e)
{
if (!chkbxAlerts.Checked)
{
// Ensures that the time missed is covered and restarts the timer
DateTime now;
now = DateTime.Now;
if ((now - latestIncrement).TotalMinutes >= 1) // Only records time if it is equal to or greater than one minute
{
// TO-DO: FIX
if (groupMissed)
{
incrementsMissed += 1;
if (incrementsMissed > 1)
{
IncrementForm form = (IncrementForm)Application.OpenForms["IncrementForm"];
if (form.InvokeRequired)
{
form.Invoke(new MethodInvoker(delegate { form.Close(); }));
}
}
}
else
{
incrementsMissed = 1;
}
IncrementForm theIncrementForm = new IncrementForm(this, now, latestIncrement);
theIncrementForm.Show();
latestIncrement = now;
}
timer.Enabled = true;
}
else
{
// Stops the timer
timer.Enabled = false;
}
}
如果您需要任何进一步的说明,请告诉我。非常感谢您的帮助,这一直困扰着我。
最佳答案
System.Timers.Timer
有一个 SynchronizingObject属性(property)。如果将其设置为主窗体(或包含计时器的窗体),则将在 GUI 线程上引发计时器滴答事件。
请注意 System.Timers.Timer
有吞噬 Elapsed
事件中发生的异常的恶习。如果您的滴答处理程序抛出异常,您将永远看不到它。这是一个讨厌的错误隐藏者。因此,我建议使用 System.Windows.Forms.Timer
或 System.Threading.Timer
。如果您使用 Windows 窗体计时器,则会在 GUI 线程上引发 elapsed 事件。如果您使用 System.Threading.Timer
,则必须使用 Invoke
,如 NSGaga 在他的回答中所示。
参见 Swallowing exceptions is hiding bugs有关为什么我不鼓励使用 System.Timers.Timer
的更多信息。
关于c# - Ticker 生成的表格显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10220172/
所以我有一个数据框df,其中包含一堆Ticker名称和其他列。该索引采用日期时间形式。 它看起来像这样: Ticker
package main import "fmt" import "time" func main() { ticker := time.NewTicker(time.Millisecond
无法找出在下面的 for 循环中我们花费超过 10 微秒的位置,以至于我们错过了大量的滴答声? package main import ( "context" "fmt" "t
希望这不会太难理解。 我目前正在开发一个在后台安静运行的小型时间记录应用程序。每次行情结束时,应用程序都会提示用户说出自上次提示后他/她在做什么。我最终会让应用程序将数据写入电子表格。 到目前为止,我
我的页面上有两个数字代码,两个代码合并为一个。 演示: $(document).ready(function() { var initialValue = $('#ticker .count').
我不想阅读状态栏通知,我已经知道如何使用以下教程来做到这一点: http://www.androiddevelopersolutions.com/2015/05/android-read-status
我天真地写了一段代码来改变 time.Ticker 的间隔,在查看它时我很生气它的工作原理: package main import ( "fmt" "time" ) func mai
在编写 Flutter 小部件测试时,我遇到了一个错误,其中在 showModalBottomSheet() 期间创建的 Ticker 没有被处理掉。 我想我明白如果我要实现我自己的 Flutter
我以前从未使用过 SQL,我想从该数据库中获取“TICKER”中的所有值: 第一个语句 select TDATE, price, return1 from STOCK_DATA where TDATE
Google Guava 教程说缓存过期可以用 Ticker 来测试 据我了解,我可以用它来强制快速过期。 我说得对吗? 但是我在下面的代码中尝试过,但是没有用,有什么建议吗? @Test publi
我希望在我的页面顶部向用户显示一个警告提示器,如果用户没有使用特定版本的浏览器,比如如果用户使用的是 IE6,那么我希望显示消息“这个浏览器不支持,请升级。 这里的问题首先是如何检查用户正在使用哪个浏
我正在使用完美运行的 vTicker,但在元素循环通过后,它们会丢失基于其伪类的 css 属性。我们的想法是让第一个和最后一个子项具有相同的不透明度,第二个和倒数第二个子项具有相同的不透明度,依此类推
我正在尝试设计一个纯 CSS 代码(就像您在电视上看到的那样),只是不会粘在屏幕底部。 我已经找到了涉及 JS 的东西,但我正在努力避免使用 JS。 我还发现了一些其他人创建的纯 CSS 代码。但问题
我正在尝试让这个新闻自动收报机工作。出于某种原因,它将在第二个列表项之后重新启动,这不是我想要的 - 我希望它在列表项中循环直到最后。这个脚本有什么问题? 这是一个 JSFiddle HTML Thi
我正在尝试使用在网络上找到的一些示例来构建 CSS 代码。我已经把一些似乎有用的东西放在一起,除了它只滚动前 4 个列表项。在第 4 个元素之后,它会滚动回到顶部并重新开始。 我不知道是什么让它重新开
目前我遇到的问题是,当我在本地(在 ubuntuVM 中)运行时,使用 WebStorm 作为网络服务器,我运行我的游戏并且它运行良好并且响应迅速,但是当我将它上传到我的虚拟主机并从那里播放它是滞后的
我发现我的进程在没有业务请求时使用了高 CPU 我使用 go-torch 发现大部分 cpu 都浪费在了 runtime.timeproc 我认为这一定是因为 time.NewTicker 在某处泄漏
有什么区别吗 ticker := time.NewTicker(1 * time.Second) go func() { for _ = range ticker.C { fm
我有一个时间自动收报机,它将在时间间隔内(例如每 5 分钟、10 分钟)执行一个函数。我在一个 goroutine 中创建了这个时间代码。我听说即使应用程序停止,这种自动收报机也会泄漏内存。只要应用程
我试图在偶数时间戳上开始一个 time.Ticker。基本上我想要的是这段代码: package main import ( "fmt" "time" ) func main() {
我是一名优秀的程序员,十分优秀!