我在进度条实时显示更新时遇到了一些麻烦.
这是我现在的代码
for (int i = 0; i < 100; i++)
{
progressbar1.Value = i;
Thread.Sleep(100);
}
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,进度条在函数运行时显示为空,然后在函数完成运行之前没有任何内容.有人可以向我解释如何做到这一点?我是C#/ WPF的新手,所以我不能100%确定如何在不同的线程上实现Dispatcher(如其他一些帖子所示)来解决这个问题.
为了澄清,我的程序有一个按钮,按下时,从文本框中获取值,并使用API检索信息,并根据它创建标签.我希望在每行数据处理完毕后更新进度条.
这就是我现在所拥有的:
private async void search(object sender, RoutedEventArgs e)
{
var progress = new Progress<int>(value => progressbar1.Value = value);
await Task.Run(() =>
{
this.Dispatcher.Invoke((Action)(() =>
{
some pre-processing before the actual for loop occur
for (int i = 0; i < numberofRows; i++)
{
label creation + adding
((IProgress<int>)progress).Report(i);
}
}));
});
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个名为 arr 的数组,大小为 1024。所以基本上我想删除数组的第 1 个 X 元素。我该怎么做呢?这就是我的想法:创建一个指向数组第一个值的指针(arr[0])。进行指针算术以将其指向数组的第 X 个元素。然后将arr[0]设置为指针p,这将有效地删除前X个元素?这行得通吗?或者有没有更简单的方法来删除数组的前 X 个元素?
我希望能够做到这一点.例如,这是我的代码:
(cond [true AA]
[else BB])
Run Code Online (Sandbox Code Playgroud)
在AA中,我希望它做两件事.1是设置全局变量的值,然后返回一个字符串.我该怎么做呢?
我们刚刚在课堂上学习循环队列,我有几个问题.因为我们将尾部定义为最后一个值旁边的空白区域,如下所示:
|1| |3|4|5|6|
Run Code Online (Sandbox Code Playgroud)
头部将指向数字3,尾部将指向1到3之间的空白空间.我对如果该空间被填满会发生什么感到困惑,例如下面:
|1|2|3|4|5|6|
Run Code Online (Sandbox Code Playgroud)
然后头部仍然指向3,但是尾部需要指向前面空白框之后的下一个框,因此它将指向3或标题.我该怎么办?
有谁知道为什么这不起作用?我希望它要求一个字符串,例如1,2或exampletext.然后检查输入值是否为1,然后将变量更改为ABC,如果为2,则更改为DEF,否则保持不变.
@echo off
set /p id="Enter ID: " %=%
IF "%id%" == "1"(
set id="ABC"
)
ELSE (
IF "%id%" == "2"(
set id="DEF"
)
ELSE (
PING 127.0.0.1 -n 0.1 >nul
)
)
Start "" "C:\Users\Comp\Desktop\livestreamer-1.5.2-win32\livestreamer.exe" twitch.tv/%id% mobile_High
Run Code Online (Sandbox Code Playgroud) batch-file ×1
c ×1
c# ×1
lisp ×1
pointers ×1
queue ×1
racket ×1
scheme ×1
wpf ×1
wpf-controls ×1