Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/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#_Multithreading - Fatal编程技术网

C#同时调用具有不同值的相同函数

C#同时调用具有不同值的相同函数,c#,multithreading,C#,Multithreading,我有一个函数,可以将标签中的文本更改为另一个,显示文本转换效果。想象一下,我有4个标签和文本,我想用另一个不同的文本替换它们的文本,显示相同的效果,但是对于4个标签,有什么方法可以做到这一点吗?同时使用不同的值调用相同的函数 感谢>>您可以修改您的函数以一次更改所有标签。大概是这样的: Foreach EffectStep Foreach Label do some job 可以修改函数以一次更改所有标签。大概是这样的: Foreach EffectStep For

我有一个函数,可以将标签中的文本更改为另一个,显示文本转换效果。想象一下,我有4个标签和文本,我想用另一个不同的文本替换它们的文本,显示相同的效果,但是对于4个标签,有什么方法可以做到这一点吗?同时使用不同的值调用相同的函数


感谢>>

您可以修改您的函数以一次更改所有标签。大概是这样的:

Foreach EffectStep
    Foreach Label
      do some job

可以修改函数以一次更改所有标签。大概是这样的:

Foreach EffectStep
    Foreach Label
      do some job

我建议使用双缓冲来实现这种效果。更新标签,然后使用双缓冲区显示完成的表单。关于WinForms应用程序启用此功能的文章很多,并且此概念适用于大多数UI平台


Windows UI(至少对于WinForms)不喜欢从多个线程进行更新,因此我不想费心去尝试这一点(除非需要大量后台计算才能获得新值)

我建议使用双缓冲来实现这一效果。更新标签,然后使用双缓冲区显示完成的表单。关于WinForms应用程序启用此功能的文章很多,并且此概念适用于大多数UI平台



Windows UI(至少对于WinForms)不喜欢从多个线程进行更新,因此我不会费心去尝试(除非需要大量后台计算才能获得新值)

为什么不为每个标签调用函数呢?有明显的延误吗?使用标记指定的多线程显然是一种过度使用。这是一种什么样的应用程序?如果它是一个WinForm应用程序,那么它可能与调用SuspendLayout()、处理然后调用ResumeLayout()一样简单。如果没有任何代码,就很难弄清楚你到底在问什么。我猜如果它被称为“效果”,那么用户会注意到它。因此,如果你在squence中对所有标签都这样做,这将是显而易见的。感谢你的回复,它确实是一个WinForm应用程序,用户可以注意到它的效果,但这就是问题所在,我不想按顺序做,我需要一次完成。你为什么不为每个标签调用函数呢?有明显的延误吗?使用标记指定的多线程显然是一种过度使用。这是一种什么样的应用程序?如果它是一个WinForm应用程序,那么它可能与调用SuspendLayout()、处理然后调用ResumeLayout()一样简单。如果没有任何代码,就很难弄清楚你到底在问什么。我猜如果它被称为“效果”,那么用户会注意到它。因此,如果你对squence中的所有标签都这样做,这将是显而易见的。感谢你的回复,这确实是一个WinForm应用程序,用户可以注意到它的效果,但问题是,我不想按顺序做,我需要一次完成。为什么要投否决票?如果你不喜欢回答为什么。这是唯一一个显示想法的伪代码,而不是一些应该被理解为可编译代码的东西。是的,我太习惯用u而不是你,sry;)为什么要投否决票?如果你不喜欢回答为什么。这是唯一一个显示想法的伪代码,而不是一些应该被理解为可编译代码的东西。是的,我太习惯用u而不是你,sry;)感谢holtavolt,我通过StoredProc获得新值,使用DataReader,我有一个结构,比如Data.Info1,…,Data.Info4和一个数据列表。例如,我想为显示转换效果的列表[1]更改4个标签(对应于列表[0]),如果我理解正确,我不会看到效果,只会更改具有新值的标签。好的-我错过了关于转换效果及其API的部分。允许您更新多个控件动画的基于计时器的动画可以在此处工作,但这需要过渡效果API支持动画的“单步执行”。您使用的文本转换效果是什么?我制作的一个,处理字符串。有可以应用于标签文本的默认动画吗?我知道没有默认动画。如果您编写了一个过渡效果,您应该能够更新自己的API以接受控件列表、它们的旧值和新值,并使用单个动画“步骤”一次更新每个控件。感谢holtavolt,我通过StoredRoc获得新值,使用DataReader,我有一个结构,比如Data.Info1,…,Data.Info4,和数据列表。例如,我想为显示转换效果的列表[1]更改4个标签(对应于列表[0]),如果我理解正确,我不会看到效果,只会更改具有新值的标签。好的-我错过了关于转换效果及其API的部分。允许您更新多个控件动画的基于计时器的动画可以在此处工作,但这需要过渡效果API支持动画的“单步执行”。您使用的文本转换效果是什么?我制作的一个,处理字符串。有可以应用于标签文本的默认动画吗?我知道没有默认动画。如果编写了过渡效果,则应该能够更新自己的API以接受控件列表、它们的旧值和新值,并使用单个动画“步骤”一次更新每个控件。