c# - 我需要使用 DLL C# 中的时间运行进度条
问题描述
看来我需要在单独的线程中使用计时器,因为如果我使用正常时间,则时间不起作用。所以我做了以下事情,但是当它在 Invoke 语句处停止时,进度条不会改变值!
public partial class LoadingForm : Form
{
System.Threading.Timer t;
public LoadingForm()
{
InitializeComponent();
}
private void LoadingForm_Load(object sender, EventArgs e)
{
progressBar.Value = 0;
progressBar.Minimum = 0;
progressBar.Maximum = 100;
t = new System.Threading.Timer(TimerCallback, null, 0, 500);
}
private void TimerCallback(object e)
{
//time is here
progressBar.Invoke(new Action(() => progressBar.Value++));
}
private void timerTick()
{
//this is what i need to do !!!!
if (progressBar.Value == progressBar.Maximum) { progressBar.Value = 0; }
progressBar.Value++;
}
}
(如果效果理想,我希望能够在 Invoke 语句中调用 timerTick())
解决方案
推荐阅读
- sql - 在多对多关系中选择 ALL 而不是 ANY
- javascript - 如何禁用锚标记中某些元素的重定向?
- c++ - C++问题,如何查看packing的默认值
- python - 混淆 CosmosDB 的分区键
- mysql - mysql根据值加入不同的表
- angular - 未捕获的错误:Angular 12 中的 JIT 编译器不可用
- java - 将消费者泛型类型转换为另一种类型
- javascript - 如何避免 Select2 触发更改,但将选项修复为数据库中的特定值?
- javascript - 在 JavaScript/TypeScript 中获取日期字符串的格式字符串
- c# - 在添加新项目中输入错误后“Package EntityFramework 5.0.0 已恢复”