如何设置进度条的值

我用C#Winforms编写了一个用户控件。 在用户控件中,我有三个文本框:

  • txtStartNumber – 输入的类型为:int。
  • txtEndNumber – 输入的类型为:int。
  • txtQuantity – iput的类型为:int。 (value = txtEndNumber – txtStartNumber)

进度条表示编号。 添加到数据库的记录及其总范围设置为等于txtQuantity。

当一个或多个记录重复时,进度条将停止。

我的问题是:

  1. 如何设置进度条的初始值?
  2. 如何管理进度条显示的进度?

我如何将其保存到数据库:

for (long i = from; i < to; i++) { for (int j = 0; j < (to - from); j++) { arrCardNum[j] = from + j; string r = arrCardNum[j].ToString(); try { sp.SaveCards(r, 2, card_Type_ID, SaveDate, 2); progressBar1.Value = j; } } } 

试试这个:

 private void StartBackgroundWork() { if (Application.RenderWithVisualStyles) progressBar.Style = ProgressBarStyle.Marquee; else { progressBar.Style = ProgressBarStyle.Continuous; progressBar.Maximum = 100; progressBar.Value = 0; timer.Enabled = true; } backgroundWorker.RunWorkerAsync(); } private void timer_Tick(object sender, EventArgs e) { progressBar.Value += 5; if (progressBar.Value > 120) progressBar.Value = 0; } 

Marquee样式需要启用VisualStyles,但它会不断滚动,无需更新。 我将其用于不报告其进度的数据库操作。

这是另一个进度条教程

您无法使用循环来执行此操作。 在for,while,do … while循环或定时器中运行代码之间存在差异。 在循环中代码立即完成,你无法在计时器中看到这一点。 即使您尝试在计数器中放入循环,它也不会起作用:

 for(int i=a;i 

如果要使用进度条执行此操作,则必须输入将数据添加到数据库的计时器OnTick事件代码,并在此事件中增加进度条值。 它与更改表单组件的其他属性(Text,Size,...)类似。 如果要查看组件的更改,则必须使用计时器。

要更改值,请使用:

 private void timer1_Tick(object sender, EventArgs e) { progressBar2.Value = progressBar2.Value - 15; } 

在C#中