Tag: 计时器

如果autoreset设置为false,我的计时器会自动处理吗?

我在我的应用程序中只启动一次计时器: CustomTimer timer = new CustomTimer(mod); timer.Interval = interval.TotalMilliseconds; timer.AutoReset = false; timer.Start(); 因此AutoReset设置为false。 在计时器结束时,是否会自动调用dispose方法?

如何在C#中只引发一个Timer事件?

如何让计时器事件一次触发一个。 例如,我有一个计时器,每10分钟发一次事件。 引发的事件需要10分钟或更长时间才能完成执行。 我希望计时器在事件结束后重置。 换句话说,我不想在任何时候提出超过1个事件的实例。

在特定时间调用方法

我正在开发一个应用程序,它具有使用一些外部Web服务发送一些SMS消息和电子邮件的小function。 这些消息可以安排在某个特定时间的某个特定日期或将来发送。 它们也可以安排在每天/每周/每月发送。 如何设计我的系统以“知道”何时调用发送方法(不进行轮询)?

调用MessageBox.Show()时,定时器才有效

怎么可能? 为什么? 如果没有网络连接,我有一个调用的计时器,如方法down: public void Foo() { for (int i = 0, count = MailList.CheckedItems.Count; i < count; i++) { /* Check for network available connection in computer public bool HasConnection() { return System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable(); } */ if (!net.HasConnection()) { SearchNetworkConnection.Start(); //start the timer } } } 和Timer的_Tick方法: private void SearchNetworkConnection_Tick(object sender, EventArgs e) { ++ATTEMPRECONNECT; […]

具有多个计时器的Windows服务

在我目前的实习期间,我获得了一名前实习生编写的Windows服务,该实习监控存档并通过电子邮件和弹出窗口警告特定人员,如果其中一个记录值超出一定范围。 它目前使用计时器每隔30秒检查一次存档,并且我被问到是否能够更新它以允许选择时间,具体取决于所监视的“标记”。 它使用XML文件来跟踪正在监视的标记。 在服务中创建多个计时器是最有效的方法吗? 我不确定采取什么方法。 该服务使用.NET 3.5以C#编写。

定时器和线程有问题

我是一个不熟练的C#编码器,这就是为什么无论互联网上的信息量如何,这个问题都让我感到非常困难。 我实际上是在一个计时器上创建一个程序,它反复轮询网站以获取一些信息。 在此过程中,将创建WebBrowser控件以导航到信息(身份validation所需)。 该程序在启动时运行这一系列事件,然后使用System.Timers.Timer设置为每10分钟(当然调试较少)来执行相同系列的事件,但当我的Timer.Elapsed事件触发该过程时,我得到A: 无法实例化描述为ActiveX控件’8856f961-340a-11d0-a96b-00c04fd705a2’的 ThreadStateException , 因为当前线程不在单线程单元中。 这是我的程序的精简版。 private void Form1_Load(object sender, EventArgs e) { GetDataFromWebBrowser(); Set_Auto_Refresh_Timer(); } private void Set_Auto_Refresh_Timer() { System.Timers.Timer TimerRefresh = new System.Timers.Timer(10000); TimerRefresh.Elapsed += new System.Timers.ElapsedEventHandler(TimerRefresh_Elapsed); TimerRefresh.AutoReset = true; TimerRefresh.Start(); } private void TimerRefresh_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { GetDataFromWebBrowser(); } private void GetDataFromWebBrowser() { WebBrowser wb = new WebBrowser(); […]

定时器回调关闭WPF应用程序(DispatcherTimer工作..)

我有一个带有显示当前时间的文本块的WPF应用程序。 所述文本块绑定到ViewModel上的DependencyProperty。 当然我需要不断更新时间,所以我使用了一个定时器(System.Threading.Timer),如下所示: public MainViewModel() { _dateTimer = new Timer(_dateTimer_Tick, null, 0, 60000); } void _dateTimer_Tick(object sender) { Time = DateTime.Now.ToString(“HH:mm”); Date = DateTime.Now.ToString(“D”); } 问题是,当调用回调时,应用程序退出… bummer(输出说:“在WindowsBase.dll中发生类型’System.InvalidOperationException’的第一次机会exception”就在它即将写入Time DP时) 。 如果我使用DispatcherTimer一切正常。 我不介意使用DispatcherTimer,它只是应用程序非常大,我想尽可能地调整其性能。 据我所知,我没有访问UI线程(我只是更新属性),因此不需要DispatcherTimer。 我错过了什么吗? 谢谢。 编辑:属性定义如下: public string Time { get { return (string)GetValue(TimeProperty); } set { SetValue(TimeProperty, value); } } // Using a DependencyProperty as […]

为什么要使用Windows.Forms.Timer?

我读了这篇优秀的文章比较.NET Framework类库中的Timer类,并得出结论,我可以用Windows.Forms.Timer做任何事情,我可以用Timers.Timer – 然后一些 。 因此,我想到的一个显而易见的问题是:为什么提供Windows.Forms Timer呢? 传统(向后兼容)支持? 其他?

我将如何实施不同速度的秒表?

理想情况下,我希望有类似于秒表类的东西,但有一个名为Speed的额外属性,它将决定计时器改变分钟的速度。 我不太确定如何实现这一点。 编辑 因为人们似乎不太明白我为什么要这样做。 考虑玩足球比赛或任何体育比赛。 半分是以分钟为单位测量的,但是比赛的时间范围显着降低,即在约2.5分钟内播放45分钟的一半。

为什么整数属性有时会返回0?

[编辑:我意识到失败的参数实际上是一个双精度而不是一个整数。 根据日志,整数计时器都不会失败。 大多数计时器和参数都是整数,但不是全部。 双打不是primefaces的,毕竟缺乏锁定可能是个问题。 我有一个应用程序,它使用包含可配置值属性的类。 应用程序中使用的大多数属性都是派生的。 这些值在启动时设置,在应用程序的主要部分运行时不会更改。 private int _TimerInterval; public int TimerInterval { get { return _TimerInterval; } } private int _Factor1; public int Factor1 { set { _Factor1 = value; _TimerInterval = _Factor1 * _Factor2; } get { return _Factor1; } } private int _Factor2; public int Factor2 { set { _Factor2 = […]