C# 如何在windows应用程序中为asyanc任务中的文本框添加值
您好,我是新来赢取表格,我想在表格的文本框中显示下面任务的进度,但我无法这样做C# 如何在windows应用程序中为asyanc任务中的文本框添加值,c#,winforms,windows-applications,C#,Winforms,Windows Applications,您好,我是新来赢取表格,我想在表格的文本框中显示下面任务的进度,但我无法这样做 // Create progress printing and querying tasks Task progressPrintTask = new Task(() => { IJob jobQuery = null; do { var progressContext = new CloudMediaContext(_
// Create progress printing and querying tasks
Task progressPrintTask = new Task(() =>
{
IJob jobQuery = null;
do
{
var progressContext = new CloudMediaContext(_accountName, _accountKey);
jobQuery = progressContext.Jobs.Where(j => j.Id == job.Id).First();
// AppendTextBox("Indexer Job started");
// textBox2.AppendText(string.Format("{0}\t{1}\t{2}", DateTime.Now, jobQuery.State, jobQuery.Tasks[0].Progress));
// Console.WriteLine(string.Format("{0}\t{1}\t{2}", DateTime.Now, jobQuery.State, jobQuery.Tasks[0].Progress));
Thread.Sleep(10000);
}
while (jobQuery.State != JobState.Finished &&
jobQuery.State != JobState.Error &&
jobQuery.State != JobState.Canceled);
});
progressPrintTask.Start();
请查看屏幕截图了解更多详细信息
请帮助我猜您缺少一个调用:
// Create progress printing and querying tasks
Task progressPrintTask = new Task(() =>
{
IJob jobQuery = null;
do
{
var progressContext = new CloudMediaContext(_accountName, _accountKey);
jobQuery = progressContext.Jobs.Where(j => j.Id == job.Id).First();
textBox2.Invoke(() => textBox2.AppendText(string.Format("{0}\t{1}\t{2}", DateTime.Now, jobQuery.State, jobQuery.Tasks[0].Progress)));
Thread.Sleep(10000);
}
while (jobQuery.State != JobState.Finished &&
jobQuery.State != JobState.Error &&
jobQuery.State != JobState.Canceled);
});
progressPrintTask.Start();
我猜您缺少一个调用:
// Create progress printing and querying tasks
Task progressPrintTask = new Task(() =>
{
IJob jobQuery = null;
do
{
var progressContext = new CloudMediaContext(_accountName, _accountKey);
jobQuery = progressContext.Jobs.Where(j => j.Id == job.Id).First();
textBox2.Invoke(() => textBox2.AppendText(string.Format("{0}\t{1}\t{2}", DateTime.Now, jobQuery.State, jobQuery.Tasks[0].Progress)));
Thread.Sleep(10000);
}
while (jobQuery.State != JobState.Finished &&
jobQuery.State != JobState.Error &&
jobQuery.State != JobState.Canceled);
});
progressPrintTask.Start();
但是我做不到
你尝试了什么?为什么不起作用?异常?@ChrFin我正在Console.write中获取值,但当我在文本框中分配该值时,将不显示任何内容。是否可能在调试输出中获取异常?您是否正在等待progressPrintTask
任务?但我无法执行该任务
您尝试了什么?为什么不起作用?异常?@ChrFin我正在Console.write中获取值,但当我在文本框中分配该值时,将不显示任何内容。是否可能在调试输出中获取异常?您是否正在等待progressPrintTask
somehwhere?使用此时我的应用程序冻结使用此时我的应用程序冻结