Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 状态条进度条_C#_Progress Bar - Fatal编程技术网

C# 状态条进度条

C# 状态条进度条,c#,progress-bar,C#,Progress Bar,我正在做网络扫描应用程序。该应用程序运行良好,只是我想添加ProgressBar,它显示从用户单击扫描开始到扫描完成的进度 private void scanClick(object sender, System.EventArgs e) { if (StatusLabel.Text == "Ready") { StatusLabel.Text = "Please wait while processing is done..."; } //s

我正在做网络扫描应用程序。该应用程序运行良好,只是我想添加
ProgressBar
,它显示从用户单击扫描开始到扫描完成的进度

private void scanClick(object sender, System.EventArgs e)
{
    if (StatusLabel.Text == "Ready")
    {
        StatusLabel.Text = "Please wait while processing is done...";
    }  
    //scanning operation begins
    //label changed when scan completed
    StatusLabel.Text = "scan completed";                           
}
现在我有了一个类似这样的进度条:


如何将进度条与扫描作业同步。请告知。

如果您在同一线程中执行一些耗时的操作,请更新进度并调用
Application.DoEvents()

如果您正在执行异步操作,则使用
控件更新ProgressBar。调用
方法。

  • 如果您不知道这两条评论之间的进度,则无法将进度条与扫描操作同步

    //scanning operation begins
    //label changed when scan completed
    
  • 另一种方法是显示左右移动的进度条,显示扫描正在进行,同时不知道何时完成

  • 使用后台线程执行扫描操作,在主线程中执行进度更新


您使用什么API进行扫描?这会通知您进度吗?您可以使用BackgroundWorker来更新进度栏。@MaxMommersteeg
BackgroundWorker
如果您使用的核心API没有提供进度信息,则毫无用处。我看不到TS谈论使用API…@MaxMommersteeg那么您如何在不使用API的情况下进行扫描?