Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.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#_.net_Winforms - Fatal编程技术网

C# 在弹出窗口中显示进度条

C# 在弹出窗口中显示进度条,c#,.net,winforms,C#,.net,Winforms,我需要在弹出窗口中有一个进度条,而我的主线程正在做一些繁重的计算。 我使用的是Oracle API,所有繁重的工作都是通过调用该API的1个函数来完成的,因此我不能使用BackgroundWorker更新,因为我没有API的代码。 我试图创建一个带有ProgressBar和计时器的新表单,但是计时器点击事件从未被触发!!(?) 有什么想法吗 而我的主线是做一些繁重的计算 错。永远不要在Windows应用程序的主线程中进行任何繁重的计算,否则用户会讨厌你 如果API没有提供报告进度的方法,那么最好

我需要在弹出窗口中有一个进度条,而我的主线程正在做一些繁重的计算。 我使用的是Oracle API,所有繁重的工作都是通过调用该API的1个函数来完成的,因此我不能使用BackgroundWorker更新,因为我没有API的代码。 我试图创建一个带有ProgressBar和计时器的新表单,但是计时器点击事件从未被触发!!(?)

有什么想法吗

而我的主线是做一些繁重的计算

错。永远不要在Windows应用程序的主线程中进行任何繁重的计算,否则用户会讨厌你

如果API没有提供报告进度的方法,那么最好在计算过程中显示一些旋转动画,因为您无法知道所完成工作的确切百分比。因此,将计算放在a中,在运行计算之前显示一些旋转动画(计算本身应该在事件中完成),并在工作完成后隐藏动画()

ProgressBar有一个
样式
属性,您可以将该属性设置为
选取框
,以模拟无限级数

而我的主线是做一些繁重的计算

错。永远不要在Windows应用程序的主线程中进行任何繁重的计算,否则用户会讨厌你

如果API没有提供报告进度的方法,那么最好在计算过程中显示一些旋转动画,因为您无法知道所完成工作的确切百分比。因此,将计算放在a中,在运行计算之前显示一些旋转动画(计算本身应该在事件中完成),并在工作完成后隐藏动画()


ProgressBar有一个
样式
属性,您可以将其设置为
选框
,以模拟无限进度。

它是Timer\u Tick()而不是Timer\u Click()!您使用的是哪个.Net版本?这个问题得到了一个很好的答案+1它是Timer\u Tick()而不是Timer\u Click()!您使用的是哪个.Net版本?这个问题得到了一个很好的答案+1使用一个新的带有计时器的进度条怎么样??我不介意偶尔将progressbar重置为0。我个人不会这样做,因为那样会欺骗你的用户,也会是一个糟糕的UI设计决策。但是是的,如果你想这么做,为什么不呢。顺便说一下,
ProgressBar
有一个
Style
属性,您可以将该属性设置为
Marquee
,以模拟无限的进度。你不需要使用任何定时器。我将更新我的答案以包含此信息。我们正在讨论winforms。是的,嗯。我得到了它。非常感谢。我将样式设置为Marquee。这对我来说已经足够好了。用一个新的带有计时器的进度条怎么样??我不介意偶尔将progressbar重置为0。我个人不会这样做,因为那样会欺骗你的用户,也会是一个糟糕的UI设计决策。但是是的,如果你想这么做,为什么不呢。顺便说一下,
ProgressBar
有一个
Style
属性,您可以将该属性设置为
Marquee
,以模拟无限的进度。你不需要使用任何定时器。我将更新我的答案以包含此信息。我们正在讨论winforms。是的,嗯。我得到了它。非常感谢。我将样式设置为Marquee。这对我来说已经足够好了。