在 C# 中System.Windows.Forms.Timer,如果计时器滴答内的代码计算时间比滴答长度长,会发生什么情况?
例如,在下面的代码中,如果更新标签的时间比刻度间隔(1 秒)长,会发生什么情况?
private void timerProgress_Tick( object sender, EventArgs e )
{
if( label.Value <= label.Maximum )
{
label.Value = item;
}
update_label();
}
Run Code Online (Sandbox Code Playgroud)
我似乎找不到任何答案,尽管这似乎是一个显而易见的问题。
目前我正在使用LightTable来运行clojure项目,而使用Leiningen我可以为项目指定一个版本.但是,对于不属于项目的.clj文件,LightTable REPL似乎表示clojure版本为1.5.1.
我想将所有.clj文件设置为1.7.0,有没有办法做到这一点?
下面是在进度条上绘制文本的 C# 代码。它用于向进度条添加文本,显示剩余时间倒计时。我使用 Graphics 类来绘制字符串而不是 Windows 窗体标签,因为当放置在进度条上时,标签背景无法设置为透明。
但是,使用此代码,每次更新时文本都会闪烁(此方法在每秒滴答一次的计时器内调用),因此它几乎不断闪烁并且无法使用。
/// <summary>
/// Adds time remaining text into a System.Windows.Forms.ProgressBar
/// </summary>
/// <param name="target">The target progress bar to add text into</param>
/// <param name="remainingTimeText">The text to add into the progress bar.</param>
private void set_progress_bar_text( System.Windows.Forms.ProgressBar target, string remainingTimeText )
{
// Make sure we do not have a null progress bar.
if( target == null )
{
throw new ArgumentException( "Null Target" );
}
// Use the progress bar label font …Run Code Online (Sandbox Code Playgroud)